개발자 Q&A

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

2025.04.26 19:02

UIDrawPath::closeFigure에 대한 질문

목록
  • 알파코더 2일 전 2025.04.26 19:02
  • 11
    1
안녕하세요 선생님. iOS 개발을 공부하고 있습니다.
UIDrawPath::closeFigure 메서드를 사용하여 도형을 그리는 방법을 공부하고 있지만,
closeFigure를 호출해야 하는 정확한 시점에 대한 이해가 부족합니다.
closeFigure 메서드는 도형의 Figure를 닫아주는 역할을 하는 것처럼 보이는데,
그런데도 여전히 도형이 그려지지 않습니다.
closeFigure를 호출해야 하는 정확한 시점은 무엇일까요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

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

검색

게시물 검색