两个可见的CATiledLayers导致问题!

时间:2011-04-02 19:52:36

标签: iphone ios core-graphics calayer catiledlayer

其他人遇到过此问题,但我没有看到任何解决方案 - 请参阅(http://openradar.appspot.com/6941930)。

我有一个UIScrollView,其内容视图的图层包含两个CATiledLayers。一个平铺层非常快地绘制内容(但是足够长以使drawInRect:太慢!),另一个平缓地绘制它们。

更快的CATiledLayer不具有默认LOD设置,具有较大的图块大小。

较慢的CATiledLayer是可缩放的。

只使用其中一个CATiledLayers就像预期的那样。

问题是将两个图层添加到可见屏幕会导致一个或另一个表现缓慢。令人讨厌的是,它似乎使内容通常快速,慢得多。

我还没有看到一种方法可靠地知道一个CATiledLayer何时完成抽奖。

我认为解决方案是对Tiled图层进行排队,因此在较快的图层完成后绘制较慢的图块。但是关于CATiledLayer的文档非常糟糕。

我尝试使用NSTimer,并在绘制第二个Tiled Layer之前将其设置为等待3秒钟。然而,这似乎并没有解决问题!我迷路了!

1 个答案:

答案 0 :(得分:0)

CATiledLayer似乎更喜欢靠近屏幕中心的任何瓷砖。也许你的一个层更接近边缘?