uiscrollview を使用して大きな画像ギャラリーを下にスクロールすると、画像がフェードインするアニメーション ブロックを使用しています。
画像は、サブクラス化された calayer に裏打ちされた uiview であり、画像はスクロールの固着を最小限に抑えるために別のスレッドで描画されます。これは素晴らしいことですが、下にスクロールしている間、非常に多くの画像を読み込んでも問題ありませんが、準備ができたときに画像が表示されるだけで、精巧さはありません. そのため、スクロール中に画像が表示される直前に、アニメーションブロックを使用して画像をアニメーション化して「飛び出す」ようにしています。各画像/ビューでアニメーションを常にコミットし続けるため、明らかに固着が発生します。
低レベルの ca トランザクションまたは ca グループ化の使用を検討してきましたが、スクロール中にこれらのアニメーション ブロック (またはブロックの低レベルの代替手段) をアニメーション ツリーに追加/フィードする高度な方法があるかどうかを直接知っている人はいますか?レンダーはブロックせずに(飛行中)通過していますか?
各画像には独自のキャレイヤーがあります。これらのレイヤーをグループ化すると、アニメーションが遅延しますか?
私の短い理解に感謝します。Apple のコア アニメーションのすべての高度な説明とフォーラムで、誰もこの問題やこれを回避する方法について直接話していません (ほとんどの議論は、既存のアニメーション オブジェクトのプレゼンテーション ツリーへの暗黙の変更に関するものであり、むしろアニメーション オブジェクトを同じレンダリング ツリーにリアルタイムで動的に追加する方法よりも )
スクロール中にビューをアニメーション化するという同様の問題を抱えている人はいますか?