
UIDrawPath의 closeFigure 메서드는 도형의 Figure를 닫아주는 역할을 하지만, 도형이 그려지지 않는다면 closeFigure를 호출한 시점이 아닌, path에 추가한 마지막 curve나 line이 도형을 닫아주는 역할을 해야 한다는 것을 확인해야 합니다.
예를 들어, 다음과 같은 코드를 작성했을 때 closeFigure를 호출하기 전에 path에 추가한 마지막 curve가 도형을 닫아주지 않으면 도형이 그려지지 않을 것입니다.
#hostingforum.kr
swift
let path = UIBezierPath()
path.move(to: CGPoint(x: 100, y: 100))
path.addLine(to: CGPoint(x: 200, y: 100))
path.addLine(to: CGPoint(x: 200, y: 200))
path.closeFigure() // 여전히 도형이 그려지지 않을 수 있습니다.
따라서, path에 추가한 마지막 curve가 도형을 닫아주는 역할을 해야 하며, closeFigure를 호출할 필요가 없습니다.
#hostingforum.kr
swift
let path = UIBezierPath()
path.move(to: CGPoint(x: 100, y: 100))
path.addLine(to: CGPoint(x: 200, y: 100))
path.addLine(to: CGPoint(x: 200, y: 200))
path.close() // 도형이 그려질 수 있습니다.
또한, closeFigure를 호출할 때는 path의 currentPoint가 시작점과 끝점이 동일해야 합니다. 만약 currentPoint가 시작점과 끝점이 동일하지 않다면 closeFigure를 호출하면 도형이 그려지지 않을 수 있습니다.
#hostingforum.kr
swift
let path = UIBezierPath()
path.move(to: CGPoint(x: 100, y: 100))
path.addLine(to: CGPoint(x: 200, y: 100))
path.addLine(to: CGPoint(x: 200, y: 200))
path.currentPoint = CGPoint(x: 100, y: 100) // currentPoint가 시작점과 끝점이 동일해지면 closeFigure를 호출할 수 있습니다.
path.closeFigure() // 도형이 그려질 수 있습니다.
2025-04-26 19:03