Для чего нужны слои? Что я могу сделать с добавлением слоя, и почему я должен думать о слоях? - PullRequest
3 голосов
/ 13 апреля 2009

Мне интересно, что отличает слои от представлений, когда каждый вид имеет свой слой. Может быть, я не прав с этим. Но тогда: для чего эти слои хороши?

Как я понимаю, я бы использовал UIView для группировки элементов в моем GUI. Я также мог бы использовать этот UIView, чтобы расположить вещи над другими вещами. Так откуда же здесь появятся слои?

Должен ли я думать о них так же, как о z-index, как в HTML / CSS? Они просто интересны для Core Animation?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2009

По сравнению с UIVIews, CALayers

  • легкий
  • заполнено информацией о времени анимации
  • Некоторые вещи труднее рисовать, например текст (особенно юникод).

Если у вас их меньше 20, это, вероятно, не имеет значения. Если у вас есть сложные анимационные потребности или вы хотите нарисовать тонну слоев, вы можете использовать CALayers вместо этого.

1 голос
/ 15 апреля 2009

По моему опыту, на iPhone нет существенной разницы в производительности между использованием UIViews и CALayers. Mac - это отдельная история, NSViews значительно более тяжелый.

Работа со слоями CALay (или, по крайней мере, с поддержкой слоя представления) иногда необходима для сложных анимаций, в частности анимации ключевых кадров или перемещения по путям.

Кроме того, CALayers можно использовать для создания независимых от платформы (Mac и iPhone) пользовательских пользовательских интерфейсов. UIViews очень отличаются от NSViews, но CALayers идентичны между iPhone и Mac OS X Leopard (за исключением нескольких свойств, которые отсутствуют на iPhone). Я использовал CALayers для обмена кодом пользовательского интерфейса между приложением iPhone и его коллегой Mac.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...