我是繼承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. UIView子類:drawRect不叫
- 3. iphone sdk自定義uiview方向問題
- 4. 在UIView子類中調用drawRect
- 5. 如何檢測觸摸的數量在iPhone SDK中的UIView
- 6. UIView在將方向切換爲橫向後更改寬度?
- 7. Iphone方向更改
- 8. 如何在javascript上觸發textarea更改?
- 9. 如何以編程方式更改UIView子類內的UIView框架?
- 10. UIView子類中的drawRect不更新圖像
- 11. 如何在方向更改時更新uiview大小?
- 12. 如何檢查UIView和UIImageView被觸摸或不在iPhone SDK?
- 13. 如何在更新zapier上的Podio類別後觸發動作?
- 14. 在Graphics2D上調用drawRect方法是否觸發paintComponent方法?
- 15. iPhone - 清理UIView的外部drawRect
- 16. 如何在自定義UICollectionView旋轉後觸發drawrect?
- 17. UIView子視圖不改變方向
- 18. iPhone sdk可可觸摸 - 通過觸摸從父母的UIView到孩子UIScrollview
- 19. Iphone:手動更改方向
- 20. 在iPhone/iPad中更改UIImage的方向
- 21. UIVIew佈局和方向更改
- 22. UIView子類,觸摸事件
- 23. 如何在iPhone上手動調用UIView的觸摸事件?
- 24. 如何在drawRect中獲取UIView大小
- 25. 如何在方向更改後獲取屏幕高度?
- 26. 如何在DrawRect方法中獲取UIView的位置
- 27. 如何更改UIBarButtonItem標題 - iPhone SDK
- 28. Iscroll僅在方向更改後才工作?在iphone,ipad
- 29. 刷新UIView drawRect?
- 30. UIView drawRect vs initWithFrame
這是首選的方法。 – yuji 2012-02-08 10:37:17
請參閱下面原始作者的回覆。 setNeedsDisplay確實是正確的方法調用。 – 2014-03-13 10:23:26
''setNeedsDisplay:'當你想以編程方式觸發重繪時使用。當你想要改變方向時觸發重繪,那麼'setContentMode:'就是票據。 – wcochran 2014-06-24 16:46:05