Что такое CALayer? - PullRequest
       2

Что такое CALayer?

4 голосов
/ 03 сентября 2010

Что такое CALayer (как видно из свойства layer в UIView) и где мы будем использовать такой класс?

Ответы [ 2 ]

18 голосов
/ 03 сентября 2010

UIView - это агрегатный класс. Он содержит «материал» для цепочки респондента события, материал для обработки иерархии представления и т. Д., А также материал, касающийся того, что рисовать на дисплее. CALayer для UIView - это просто материал для рисования: биты изображения, масштаб, преобразование, свойства анимации и т. Д.

Интерфейс Cocoa Touch рисуется путем наложения слоев ... виды сверху видов сверху окна. CALayer - это слой в стеке композиции, который располагается поверх некоторых слоев и, возможно, под другими слоями. (например, изображение в кнопке в ячейке таблицы в представлении в разделенном представлении и т. д.)

Если вы хотите сделать что-то особенное с тем, что рисует или отображает представление, которое не предусмотрено в стандартных методах класса UIView, возможно, можно сделать это что-то особенное, перейдя непосредственно к CALayer: возможно, поменять слои между представлениями и / или изображения, материалы для рисования вне экрана, пользовательские анимации и т. д.

В Apple CALayer Class Reference document

есть еще много объяснений.
0 голосов
/ 15 сентября 2015

UIView построен на CALayers. Это просто классы, представляющие собой визуальный контент для UIViews.Просто напечатайте UIView с помощью NSLog и проверьте, мы могли видеть его слой и рамку содержимого.Используйте Core Graphics для непосредственной работы с CALayers, а UIView - это элемент UIKit.self.view.layer.backgroundColor = [UIColor redColor].CGColor;

...