我有一个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图库?