Ответ
CA означает Core Animation – низкоуровневый графический фреймворк Apple, лежащий в основе всех анимаций и отрисовки в UIKit и SwiftUI.
CALayer – это фундаментальный класс Core Animation, который:
- Управляет визуальным контентом (цвет фона, изображения, скругленные углы).
- Обеспечивает аппаратно-ускоренную анимацию и композицию.
- Строит иерархическую структуру, аналогичную
UIView, но более легковесную.
Пример использования:
// Создание и настройка слоя
let sublayer = CALayer()
sublayer.backgroundColor = UIColor.blue.cgColor
sublayer.cornerRadius = 8.0
sublayer.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
// Добавление слоя в иерархию
view.layer.addSublayer(sublayer)
// Неявная анимация свойства
CATransaction.begin()
CATransaction.setAnimationDuration(0.3)
sublayer.opacity = 0.5
CATransaction.commit()
Ключевые особенности Core Animation:
- Рендеринг на GPU для максимальной производительности.
- Поддержка неявных (automatic) и явных (CABasicAnimation, CAKeyframeAnimation) анимаций.
- Модель транзакций (
CATransaction) для группировки анимационных изменений.