Gre*_*sur 12 iphone core-graphics quartz-graphics catiledlayer
所有,
我无法从CATiledLayer获得我想要的行为.有没有一种方法可以触发瓷砖重绘而不会产生副作用,即它们的区域首先被清除为白色?我已经将CATiledLayer子类化,将fadeDuration设置为0.
更具体地说,这里是我所看到的以及我正在努力实现的细节:
谢谢; 我很感激你的想法.
更新:
只是为了跟进 - 我意识到在重绘之前瓷砖没有被清理成白色,它们被完全取出; 我看到的白色是我的CATiledLayer支持的视图下面的视图的颜色.
作为快速入侵/修复,我在UIScrollView下面放置了一个UIImageView,在触发重新绘制CATiledLayer支持的视图之前,我将其可见部分呈现到UIImageView中并让它显示出来.这显着平滑了重绘.
如果有人有更好的解决方案,比如在重新绘制之前保持重绘目标的瓷砖不会消失,我仍然喜欢听到它.
您可以在现有平铺层后面添加另一个层(可能是 CATiledLayer)。(有点像双缓冲解决方案。)您可以setNeedsDisplay:
从几秒钟后触发的计时器调用第二层,以确保该层不会与前层同时重绘。
归档时间: |
|
查看次数: |
5424 次 |
最近记录: |