web-dev-qa-db-ja.com

CoreAnimationレイヤーバックビューとレイヤーホスティングビューの違いは何ですか?

CoreAnimationのレイヤーバックビューとレイヤーホスティングビューの違いは何ですか?

それぞれを設定する手順は何ですか?また、どちらのタイプを使用するのが適切なのはいつですか?

44
alfwatt

レイヤーに裏打ちされたビューには、CocoaまたはCocoa TouchのUIコントロールが含まれており、アニメータープロキシを使用してアニメーション化できます。レイヤーに裏打ちされたビューを使用すると、UIをアニメーション化し、ビューのコンテンツをCore Animationレイヤーにキャッシュすることで、描画のオーバーヘッドを減らすことができます。 wants layerプロパティを設定して、レイヤーに裏打ちされたビューを作成します。

NSView *layerBacked = [NSView new];
[layerBacked setWantsLayer:YES];

レイヤーホスティングビューは、NSViewまたはUIViewによってホストされる直接操作用のレイヤーを提供します。レイヤーホスティングビューは、NSViewを配置できる場所であればどこにでもCoreAnimationの描画とアニメーションを埋め込むために使用できます。

NSView *layerHosting = [NSView new];
[layerHosting setLayer:[[CALayer new] autorelease]];
[layerHosting setWantsLayer:YES];
33
alfwatt