1

私はココアプログラミングにまったく慣れていません。カスタム ビュー (iBox) があり、その中に別のクラス (iCircle) のカスタム ビューが 8 つ以上あります。iBox のサイズを変更し、iBox の特定の側面から 8 つの iCircle をそれぞれ移動するアニメーションを作成したいと考えています。

一番簡単な方法で作りました。8 つの iCircle と iBox のそれぞれに NSViewAnimationTargetKey、NSViewAnimationStartFrameKey、NSViewAnimationEndFrameKey を含む 9 つの NSDictionaries を含む NSViewAnimation オブジェクトを作成しました。

そのため、アニメーションを開始すると、スライドショーのように再生が非常に遅くなりますが、アニメーションではありません。非常に古い GPU で動作する 3D ゲームのように見えます。iBox と 1 つの iCircle だけをアニメーション化すると、スムーズに再生されます。

私の質問は次のとおりです。そのような行動の原因を正確に知っていますか? それは NSViewAnimation オブジェクト内の多数の Dictionaries ですか、それとも多数の iCircle ですか。多分それらは NSViewCells のようなものであるべきです。セルを使用すると、同じタイプの個別のビューよりもはるかに効率的であるとどこかで読みました。

このようなアニメーションを最適化して効率的かつスムーズに実行するにはどうすればよいでしょうか?

この質問について何か助けていただければ幸いです。

4

0 に答える 0