コアアニメーションの学習では、正しく実行しなければ、未知の未定義の動作が発生することを非常に素早く学びました。その目的のために、私はそれを概念的に理解するのに役立ついくつかの質問があります。コアアニメーションのコード構造/コンベンション
NSViewのサブクラスでは、initが次のように宣言されています。このビューは、通常のレイヤーバックアップビューのサブビューです。
これ以降、[自分のレイヤー]ではなく、自分自身をどのような状況で参照する必要がありますか?明示的で暗黙的なアニメーションでレイヤーを操作し、[self setFrame:]などから離れ、[[self layer] setPosition]などを使用しています。
このアプローチの問題は、ビューは、適用されたすべてのアニメーションを通して1つの場所にとどまります。私の見解がマウスイベントを受け取ることになっていたら?たとえば、コアアニメーションを使用するビューをマウスでドラッグします。適切なマウスイベントを受け取れるように、プレゼンテーションレイヤーの現在の状態とビューフレームを何とかして同期させる方法がありますか?
プレゼンテーションレイヤーについては、明らかに実際のアニメーションが進行中の場合のみ利用可能です。アニメーションが進行していなくても実際にどこの視覚的にどこにいるのかを教えてくれるレイヤのプロパティはありますか?