この問題は他の誰かが遭遇しましたが、私は解決策を見たことがありません - ( http://openradar.appspot.com/6941930 ) を参照してください。
コンテンツ ビューのレイヤーに 2 つの CAtiledLayers が含まれる UIScrollView があります。一方のタイル レイヤーはコンテンツを非常に高速に描画します (ただし、drawInRect を作成するのに十分な長さ: 遅すぎます!)、もう一方のレイヤーはゆっくりと描画します。
Zoom にはない高速な CATiledLayer には、デフォルトの LOD 設定があり、タイル サイズが大きくなっています。
低速の CATiledLayer はズーム可能です。
CATiledLayers の 1 つだけを使用すると、期待どおりに動作します。
問題は、両方のレイヤーを表示画面に追加すると、どちらか一方の動作が遅くなることです。厄介なことに、通常は描画するコンテンツが高速になり、はるかに遅くなるようです。
1 つの CAtiledLayer がいつ描画を完了したかを確実に知る方法はまだ見たことがありません。
解決策はタイル レイヤーをキューに入れることだと思うので、速いタイル レイヤーが終了したら、遅いタイル レイヤーを描画します。しかし、CATiledLayer のドキュメントはかなり悪いです。
私は NSTimer を使用しようとしましたが、2 番目のタイル レイヤーを描画する前に 3 秒間待機するように設定しました。ただし、これは問題を解決していないようです。道に迷いました!