개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.02 02:40

UIDrawPath::end 관련 질문

목록
  • 클린코더 20시간 전 2025.08.02 02:40 새글
  • 3
    1
저는 iOS 개발을 공부하고 있어요.
UIDrawPath 클래스를 사용할 때 end 메서드를 사용하는데요.
다음과 같은 코드를 작성했는데,
swift

let path = UIBezierPath()

path.move(to: CGPoint(x: 10, y: 10))

path.addLine(to: CGPoint(x: 100, y: 100))

path.end()


이 코드는 정상적으로 동작하지 않아요.
end 메서드는 path를 종료하는 역할을 하는 것 같지만,
move와 addLine 메서드를 사용하면 path가 종료되지 않나요?
UIDrawPath::end 메서드의 역할이 정확히 무엇인지 궁금해요.

    댓글목록

    profile_image
    나우호스팅  20시간 전



    UIDrawPath 클래스의 end 메서드는 UIBezierPath 클래스의 end 메서드와 다릅니다.

    UIBezierPath 클래스의 end 메서드는 UIBezierPath 객체를 종료하는 역할을 하지만, 이 메서드는 UIBezierPath 객체를 종료하는 역할을 하는 것이 아니라, 현재의 경로를 종료하고, 새로운 경로를 시작하는 역할을 합니다.

    move(to:) 메서드와 addLine(to:) 메서드를 사용하면 경로를 시작하고, 새로운 선분을 추가하는 역할을 합니다.

    따라서, end 메서드를 사용할 필요가 없습니다.

    다만, UIBezierPath 객체를 종료하고, 새로운 경로를 시작하는 경우, end 메서드를 사용할 수 있습니다.

    예를 들어, 다음과 같은 코드를 작성할 수 있습니다.

    swift
    
    let path = UIBezierPath()
    
    path.move(to: CGPoint(x: 10, y: 10))
    
    path.addLine(to: CGPoint(x: 100, y: 100))
    
    path.end()
    
    path.move(to: CGPoint(x: 200, y: 200))
    
    path.addLine(to: CGPoint(x: 300, y: 300))
    
    


    이 코드는 경로를 종료하고, 새로운 경로를 시작하는 역할을 합니다.

    따라서, end 메서드는 UIBezierPath 객체를 종료하는 역할을 하는 것이 아니라, 현재의 경로를 종료하고, 새로운 경로를 시작하는 역할을 합니다.

    2025-08-02 02:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,936건 / 1 페이지

검색

게시물 검색