В чем разница между CoreAnimation Layer Backed View и Layer Hosting View? - PullRequest
43 голосов
/ 09 декабря 2008

В чем разница между Layer Backed View и Layer Hosting View в Core Animation?

Каковы этапы настройки каждого из них и когда целесообразно использовать любой из этих типов?

1 Ответ

32 голосов
/ 09 декабря 2008

Представление на уровне слоя содержит элементы управления пользовательского интерфейса Cocoa или Cocoa Touch и может быть анимировано с помощью прокси-сервера аниматора. Представления на основе слоев позволяют анимировать пользовательский интерфейс и помогают снизить накладные расходы при рисовании, кэшируя содержимое представлений в основном анимационном слое. Создайте вид на основе слоев, установив свойство слоя хочет:

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

Вид размещения хоста предоставляет слой для прямых манипуляций, размещенных в NSView или UIView. Хостинг-представления слоев можно использовать для встраивания основной анимационной графики и анимации в любое место, где можно разместить NSView:

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