UIViewはCALayerをひとつだけ持っています。UIViewをアニメーションさせる場合は、その持っているCALayerクラスの「layer」というプロパティに対してアニメーションをさせる形になります。逆にCALayerは自分自身にいくつもCALayerを持つことができます。よく言われている「コンテナ」と「入れ子」の関係ですね。
また、UIViewはタッチイベントを受け取ることができますが、CALayerはタッチイベントを受け取ることができないようです。
上の記述と参考記事から簡単にまとめます。
また、UIViewはタッチイベントを受け取ることができますが、CALayerはタッチイベントを受け取ることができないようです。
上の記述と参考記事から簡単にまとめます。
UIView
- CALayerを一つだけ持っている
- UIViewをいくつも持てる(コンテナ。UIViewをいくつも自分自身に吊るせる)
- タッチイベントを受け取ることができる
CALayer
- CALayerはUIViewのプロパティに入っている
- CALayerをいくつも持てる(コンテナ。CALayerをいくつも自分自身に吊るせる)
- タッチイベントを受け取ることができない
- 描画処理だけを行うため、描画がUIViewに比べて速い
コメント
コメントを投稿