Что означает аббревиатура CA в CALayer?

«Что означает аббревиатура CA в CALayer?» — вопрос из категории UIKit, который задают на 10% собеседований IOS Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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) для группировки анимационных изменений.