其他人遇到过这个问题,但我没有看到任何解决方案 - 请参阅(http://openradar.appspot.com/6941930)。
我有一个 UIScrollView,其内容视图的图层包含两个 CATiledLayers。一个平铺层非常快地绘制内容(但足够长以使 drawInRect:太慢了!),另一个绘制它们的速度很慢。
更快的 CATiledLayer 没有 Zoom 具有默认的 LOD 设置,具有较大的平铺尺寸。
较慢的 CATiledLayer 是可缩放的。
仅使用 CATiledLayers 之一的行为符合预期。
问题是将两个图层都添加到可见屏幕会导致其中一个或另一个行为缓慢。令人讨厌的是,它似乎使通常绘制的内容变得更快,更慢。
我还没有看到一种可靠地知道一个 CATiledLayer 何时完成绘制的方法。
我认为解决方案是将平铺图层排队,因此当较快的平铺图层完成时绘制较慢的平铺图层。但是 CATiledLayer 上的文档非常糟糕。
我尝试使用 NSTimer,并在绘制第二个平铺层之前将其设置为等待 3 秒。然而,这似乎并不能解决问题!我迷路了!