我有一個CALayer與我已經添加到我的視圖的基礎層的自定義繪製方法。我將needsDisplayOnBoundsChange設置爲NO。但是,當我調整父視圖的框架時,圖層的drawInContext:會不斷調用。我希望內容在調整大小時進行縮放。任何線索?如何防止CALayer重新繪製其綁定更改?
0
A
回答
1
有趣的是,我有一個CALayer正確縮放其內容的情況,直到我調用setNeedsDisplay來重繪它的內容爲止。有一件事情可能會有所不同,就我而言,圖層是由其委託而不是由CALayer的子類繪製的。另一件可能不同的事情是,這是在iOS上,而不是OSX(我不知道你在這種情況下使用了哪種)。子類和委託繪製圖層和/或iOS和OSX之間可能存在行爲差異。
另一件需要注意的是,needsDisplayOnBoundsChange被默認記錄爲NO,所以不需要設置它。我沒有特別設置needsDisplayOnBoundsChange在我的圖層上。
您可以嘗試使用委託進行繪圖以查看是否有所作爲。請注意,UIView不能成爲CALayer的委託。在我的情況下,我做了一個簡單的委託對象,將繪製調用轉發給我的視圖。
相關問題
- 1. iPhone - 如何防止UIWebView繪製/更新其內容
- 2. 如何在更新ViewModels時防止重新綁定Kendo UI Grid
- 3. 防止delphi重新繪製列
- 4. 如何防止JInternalFrame重新繪製重疊JInternalFrame
- 5. Rich Edit控件:防止立即重新繪製/更新?
- 6. 如何避免/防止系統繪製/重繪/刷新/繪製WPF窗口
- 7. CALayer不重繪屬性更新
- 8. 如何防止綁定刷新
- 9. 如何在AngularJS中更改路線時防止視圖重繪
- 10. 如何更改繪圖的大小並防止y軸重疊?
- 11. 自定義屬性更改時重繪自定義CALayer子類
- 12. 如何防止DataGrid在其可見性更改後重建行?
- 13. 如何強制CALayer以更高的分辨率重繪?
- 14. 將CALayer添加到UIView並具有重新繪製方向更改的功能
- 15. 防止UICollectionView重繪
- 16. 黑莓手機 - 防止屏幕重繪,同時做佈局更改,然後一次重新繪製所有
- 17. 防止重複更新CFgrid
- 18. 如何防止on.submit事件更改/重新加載頁面?
- 19. Android:如何防止方向更改後重新加載活動?
- 20. 如何防止方向更改期間活動重新啓動?
- 21. 如何防止GPS更新?
- 22. 如何防止scrollView更新
- 23. 重新繪製不更新?
- 24. 如何防止select2.js重寫自定義更改?
- 25. 如何阻止iPhone顯示轉換更改,直到屏幕重新繪製
- 26. 如何防止多次繪製模態?
- 27. 如何在更改其對齊樣式後重新繪製列表控件?
- 28. 如何防止Android視圖繪製其背景
- 29. 如何禁止/更改然後重置綁定?
- 30. 如何在視圖更改時重新繪製Android圖庫?