スクロール ビューのアニメーション ズームに従ってコンテンツ ビューの要素 (複数のCALayersを管理するサブビュー) を更新できるように、スクロール ビューのスケールを注意深く監視する必要があります。
iOS 3.1 では、すべてが期待どおりに動作します。zoomToRect:animated:を使用し、 UIScrollViewDelegateのscrollViewDidScroll:メッセージがアニメーションの実行中に繰り返し呼び出されるため、実際のズームに応じてサブビュー要素を更新できます。
iOS 4.0 の同じコードは、同じ動作を示しません。zoomToRect:animated:を呼び出すと、デリゲート ( scrollViewDidScroll:およびscrollViewDidZoom ) は一度しか呼び出されないため、アニメーションが終了するまでサブ要素の同期が解除されます。実際、サブ要素はすぐにジャンプし、すべてが正しい場所に配置されるまで、ズーム アニメーションに追いつきます。アニメーションがサブビューCALayersの変更を反映していないようです。
アニメーション ブロックを使用して手動でアニメーション化を試みましたが、状況は同じで、プログレッシブ コールバック呼び出しはありません。KVO も試してみましたが、UIScrollView で管理されたアニメーションをどのように利用するかは明確ではありません。
UIScrollViewスケールがアニメーション化されているときに、スケール値をサブビューにプッシュできる iOS 4 の回避策はありますか?