CALayerDelegate
CALayerDelegate
неофициальный протокол реализован делегатом уровня для ответа на связанные с уровнем события. Можно реализовать методы этого протокола, чтобы обеспечить содержание уровня, обработать расположение подуровней и обеспечить действия пользовательской анимации для выполнения. Объект, реализующий этот протокол, должен быть присвоен delegate
свойство расположенного на слое объекта.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import QuartzCore
Objective C
@import QuartzCore;
Доступность
Доступный в OS X v10.5 и позже.
-
Просит делегат обновлять содержание уровня.
Объявление
Swift
func displayLayer(_
layer
: CALayer!)Objective C
- (void)displayLayer:(CALayer *)
layer
Параметры
layer
Уровень, содержанию которого нужно обновление.
Обсуждение
Уровень вызывает этот метод рано в его цикле обновления, чтобы дать Вашему делегату шанс установить уровень
contents
свойство непосредственно. Если Вы не реализуете этот метод, уровень вызываетdrawLayer:inContext:
метод вместо этого.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Просит делегат рисовать содержание уровня.
Объявление
Swift
func drawLayer(_
layer
: CALayer!, inContextctx
: CGContext!)Objective C
- (void)drawLayer:(CALayer *)
layer
inContext:(CGContextRef)ctx
Параметры
layer
Уровень, содержание которого должно быть нарисовано.
ctx
Графический контекст для использования для рисования. Графический контекст включает надлежащий масштабный коэффициент для рисования на целевой экран.
Обсуждение
Если Вы не хотите устанавливать содержание уровня непосредственно с помощью
displayLayer:
метод, можно реализовать этот метод и использовать его для рисования содержания уровня. Вы могли бы предпочесть этот метод в случаях, где содержание уровня является уже динамичным и должно быть регенерировано.Контекст может быть отсечен для защиты допустимого содержания уровня. Подклассы, хотящие найти, что фактическая область рисует, могут вызвать
CGContextGetClipBoundingBox
функция.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Просит делегат размечать подуровней указанного уровня.
Объявление
Swift
func layoutSublayersOfLayer(_
layer
: CALayer!)Objective C
- (void)layoutSublayersOfLayer:(CALayer *)
layer
Параметры
layer
Уровень, требующий расположения его подуровней.
Обсуждение
Во время обновления расположения уровень вызывает этот метод, чтобы дать Вашему делегату шанс скорректировать позицию или размер любых подуровней. Ваш объект делегата ответственен за изменение кадра каждого подуровня, требующего расположения.
Если Вы не реализуете этот метод, уровень вызывает
layoutSublayersOfLayer:
метод на объекте в уровнеlayoutManager
свойство. При реализации этого метода уровень не просит, чтобы его менеджер по расположению возразил для обновления расположения.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.
-
Спрашивает делегат к указанному действию.
Объявление
Параметры
layer
Уровень, который является целью действия.
key
Идентификатор действия.
Возвращаемое значение
Объект, реализовывая
CAAction
протокол илиnil
если делегат не указывает поведение для указанногоkey
.Обсуждение
Ваш объект делегата может реализовать этот метод, когда это хочет обеспечить пользовательские действия для уровня. Для получения информации о том, как связанные с уровнем действия выбраны, видят
actionForKey:
методCALayer
.Оператор импорта
Objective C
@import QuartzCore;
Swift
import QuartzCore
Доступность
Доступный в OS X v10.5 и позже.