2012-02-24 2 views
0

drawRect가있는 UIView의 하위 클래스가 있습니다. 기본적으로 선과 이미지를 그립니다. 이것을 viewDidLoad에 그렸지만 뷰가 가로 방향으로 바뀌면 레이아웃을 변경해야합니다. 어떻게 다시 그릴 수 있습니까?drawRect를 사용하여 다시 그리기

답변

6

보기의 contentModeUIViewContentModeRedraw으로 설정하십시오. 경계는 바뀔 때마다 [self setNeedsDisplay]으로 전화 할 것입니다. 필요에 따라보기의 크기를 조정하면됩니다.

+0

willRotateToInterfaceOrientation에서 설정한다는 의미입니까? 또한 UIView의 y 원점을 변경했지만 변경하지 않았습니다. – xonegirlz

+0

적절한 경우 뷰의 크기를 조정해야하므로'willRotateToInterfaceOrientation :'이 좋은 후보라고 생각합니다. 거기서'myView.frame = ... '을 실행하면됩니다. 뷰의'frame' 원점을 변경해도'bounds'는 실제로 변경되지 않습니다 (뷰의 위치 만 영향을받습니다). 뷰의'frame' 크기를 변경하면됩니다. – Costique