2011-04-25 7 views
0

iPhone 개발 문제 : 사변형의 4 개의 검은 모서리 (CGPoint)로 사각형을 그릴 수 있습니다. 나는 drawRect 메서드를 무시했지만 사각형 대신 사각형 만 표시합니다. 즉, drawRect은 4 개의 CGPoint로 직사각형 만 그릴 수 있습니까?drawRect에서 이렇게 그리는 방법은 무엇입니까?

원래 요구 사항은 모서리 점을 터치하고 이동하여 사각 모양을 변경하는 것입니다. 재정의하여 drawRect으로 해결할 수 있습니까? 내가 다른 것을해야합니까? 덕분에 .

답변

0

-drawRect:은 드로잉 코드를 저장하는 곳이며 원하는 코드를 그릴 수 있습니다. 확실히 직사각형에 국한되지 않습니다. 나는 당신의 문제의 특별한 성질을 따를지는 확신하지 못한다. 당신이 어떤 코드를 올리면 많은 도움이 될 것이다. 일반적으로 -drawRect:은 드로잉 코드를 올릴 수있는 적절한 위치이고, 뷰가 원하는대로 그리지 않으면 -drawRect: 메서드의 제한이 아닌 코드의 문제로 인해 발생할 가능성이 큽니다.

+0

감사합니다. 나는 내 코드를 점검 할 것이다. – Nauhc

0

특히보기 프레임은 origin{x,y}size{width,height}을 정의합니다.

이것은 간단한 직사각형입니다.

도 마찬가지로 인수를 그리기 위해 사각형이 전달됩니다.

보기가 직사각형보다 복잡한 사변형을 나타내려면 함수가 이미 존재하지 않는 한 사용자 지정 형상 변환을 작성해야합니다. 이것을 쉽게 할 수있는 API가 많이 있습니다 (예 : NSBezierPath/UIBezierPath).

궁극적으로 전체 사변형을 포함 할만큼 큰 프레임이 필요합니다. 그것의 일부분을 그리도록 요청 받았을 때, 어떻게 채울지를 결정합니다.

rect 내에서 4 개의 이동 가능 지점을 원하므로 각 모서리 당 하나씩 4 포인트 (예 : CGPoint)를 정의해야합니다. 당신의 뷰 하위 클래스의이 ivars를 만드십시오. 변경되면 적절하게보기를 무효화하십시오.

+0

많은 감사합니다! 4 점의 가치를 어떻게 바꾸고 화면에 보여줄지 말해 주시겠습니까? 나는이 질문에 대해 내부에서 코드로 질문했다 : http://stackoverflow.com/questions/5775557/how-to-let-drawrect-get-the-value-of-points-from-viewcontroller-and-draw – Nauhc

관련 문제