よくわかってないんだけど、UIViewとCALayerの違いなどについて。
CALayerはアニメーション実行のFrameworkであるCoreAnimationが提供する仕組みで、その名の通り画像をアニメーションやお絵かきをさせるのに使う。
データとしてはビットマップグラフィックとして持っている。
レイヤーっつーんだから、透明なお絵かき板みたいな概念のものだろう。
CALayerを直接操作するには、事前にQuartzCore/QuartzCoreのFrameworkのimportが必要。
UIViewはお絵かき、アニメーション以外の部分、たとえばタッチした時のイベント処理とかの機能を提供している。
UIViewのインスタンスを作るとCALayerが自動的に作られるため、通常はUIViewに向けたメソッドやプロパティをいじることで、内包しているCALayerを使ったアニメーションも実現できる。
UIViewに別なViewやButtonなどをaddSubviewするように、CALayerに別なCALayerをaddSublayerすることもできる。
透明なお絵かき板を何枚も重ねて、それぞれが直接干渉しない形で動かしたりするイメージだろうか。
間違ってるかもしれないけど、たぶんだいたいこんな感じじゃないかと思う。
もっと詳しくわかったら追記する。
0 件のコメント:
コメントを投稿