我是繼承UIView並覆蓋drawRect方法。我注意到視圖的drawrect僅在視圖第一次加載時被調用。之後,它不會再被調用。如何確保在方向更改後調用它?我已經嘗試在旋轉之前和之後的視圖上調用setNeedsDisplay,並且不這樣做。iPhone SDK:如何在方向更改後觸發UIView子類上的drawRect?
18
A
回答
57
[myView setContentMode:UIViewContentModeRedraw];
可以在IB設置這個問題,以及(即,設置模式爲 「重繪」)
8
這是一個與完全不同的東西有關的錯誤。 setNeedsDisplay的確會導致drawRect被調用。
+0
是的'setNeedsDisplay:'會觸發重繪,但需要程序員明確調用它。 'setContentMode:'將自動觸發一次方向改變的重繪。 – wcochran 2014-06-24 16:48:15
0
回答這個和有關視圖旋轉/ drawRect中funkiness其他94000個similiar問題,
-(id)initWithFrame:(CGRect)frame
{
if(self=[super initWithFrame:frame]) {
self.autoresizesSubviews=YES;
self.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
}
return self;
}
相關問題
- 1. iPhone - UIView方向更改
- 2. 如何在iPhone sdk的觸摸方向上拉伸圖像?
- 3. UIView子類:drawRect不叫
- 4. UIView在iphone SDK中,如何更新?
- 5. drawRect:在UIView類別
- 6. iphone sdk自定義uiview方向問題
- 7. 在UIView子類中調用drawRect
- 8. 如何檢測觸摸的數量在iPhone SDK中的UIView
- 9. 如何更改iDevice(iPad/iPhone)的方向?
- 10. Iphone方向更改
- 11. UIView在將方向切換爲橫向後更改寬度?
- 12. 如何使UIScrollView向前觸及UIView子類子視圖?
- 13. drawRect轉換後的UIView
- 14. iPad上的方向更改會觸動
- 15. 如何在javascript上觸發textarea更改?
- 16. 在iphone sdk中更改方向時加載表中的問題?
- 17. iOS觸發器方向更改事件
- 18. 如何以編程方式更改UIView子類內的UIView框架?
- 19. 如何在方向更改時更新uiview大小?
- 20. UIView子類中的drawRect不更新圖像
- 21. 如何改變子彈在運動方向發生碰撞後的方向(角度)sdk
- 22. 如何在更新zapier上的Podio類別後觸發動作?
- 23. 獲取方向更改後UIView的更新中心位置iOS8
- 24. 在Graphics2D上調用drawRect方法是否觸發paintComponent方法?
- 25. 如何在界面構建器中的uiview中調整uiview的方向更改?
- 26. iPhone - 清理UIView的外部drawRect
- 27. UIView Swift中的方向更改
- 28. 更改後的drawRect被稱爲
- 29. 如何繼承UIView,然後如何使用drawRect繪製圖形?
- 30. UIView框架在方向改變後沒有更新
這是首選的方法。 – yuji 2012-02-08 10:37:17
請參閱下面原始作者的回覆。 setNeedsDisplay確實是正確的方法調用。 – 2014-03-13 10:23:26
''setNeedsDisplay:'當你想以編程方式觸發重繪時使用。當你想要改變方向時觸發重繪,那麼'setContentMode:'就是票據。 – wcochran 2014-06-24 16:46:05