[swift] Swift Core Graphics로 여러 도형 연결하기

Swift 프로그래밍에서 Core Graphics 프레임워크를 사용하면 강력하고 다양한 그래픽 기능을 활용할 수 있습니다. 여기서는 Swift를 사용하여 여러 도형을 생성하고 연결하여 복잡한 그림을 만드는 방법에 대해 알아보겠습니다.

Core Graphics란?

Core Graphics는 iOS 및 macOS 애플리케이션에서 2D 그래픽을 그리고 조작하기 위한 프레임워크입니다. 이를 사용하여 다양한 도형, 이미지, 텍스트 등을 그릴 수 있습니다.

여러 도형 그리기

먼저 UIView를 상속받는 새로운 클래스를 생성하여 draw(_:) 메서드를 오버라이드합니다. 이 메서드에서 Core Graphics를 사용하여 여러 도형을 그릴 수 있습니다.

class CustomView: UIView {
    override func draw(_ rect: CGRect) {
        // 직사각형 그리기
        let rectanglePath = UIBezierPath(rect: CGRect(x: 20, y: 20, width: 100, height: 50))
        UIColor.blue.setFill()
        rectanglePath.fill()
        
        // 원 그리기
        let circlePath = UIBezierPath(ovalIn: CGRect(x: 150, y: 20, width: 80, height: 80))
        UIColor.red.setFill()
        circlePath.fill()
    }
}

위 코드에서 UIBezierPath를 사용하여 직사각형과 원을 그립니다.

도형 연결하기

이제 여러 도형을 연결하여 복잡한 그림을 만들어 보겠습니다. 여러 도형을 연결하려면 addLine(to:) 메서드를 사용하여 경로를 연결하면 됩니다.

class CustomView: UIView {
    override func draw(_ rect: CGRect) {
        // 직사각형 그리기
        let rectanglePath = UIBezierPath(rect: CGRect(x: 20, y: 20, width: 100, height: 50))
        UIColor.blue.setFill()
        rectanglePath.fill()
        
        // 원 그리기
        let circlePath = UIBezierPath(ovalIn: CGRect(x: 150, y: 20, width: 80, height: 80))
        UIColor.red.setFill()
        circlePath.fill()
        
        // 두 도형을 연결
        let connectorPath = UIBezierPath()
        connectorPath.move(to: CGPoint(x: 120, y: 45))
        connectorPath.addLine(to: CGPoint(x: 150, y: 60))
        connectorPath.addLine(to: CGPoint(x: 180, y: 45))
        UIColor.green.setStroke()
        connectorPath.lineWidth = 5
        connectorPath.stroke()
    }
}

위 코드에서 addLine(to:) 메서드를 사용하여 원과 직사각형을 연결하는 선을 그립니다.

이제 여러 도형을 생성하고 연결하여 복잡한 그림을 만드는 기초적인 방법에 대해 알아보았습니다. Core Graphics를 사용하면 복잡한 그래픽 요소를 다루는 데 필요한 다양한 기능을 지원하므로 참고 자료를 참조하여 더 많은 기능을 익히시기를 권장합니다.

참고 자료