Ответ
UIView — фундаментальный класс фреймворка UIKit, представляющий прямоугольную область на экране. Это базовый строительный блок для всех элементов пользовательского интерфейса.
Основные обязанности:
- Отрисовка и композиция: Управляет своим содержимым (цвет, изображения, текст) и отрисовывает его в своих границах (
bounds). - Иерархия и геометрия: Существует внутри иерархии
UIView(родительскиеsuperviewи дочерниеsubviews). Определяет своё положение (frame,center) и размер (bounds) относительно системы координат родителя. - Обработка событий: Отвечает на касания и жесты через методы жизненного цикла (
touchesBegan,touchesMoved,touchesEnded). - Анимация: Поддерживает анимированные изменения свойств через блоки
UIView.animate(withDuration:...).
Ключевые свойства и методы:
// Создание и геометрия
let view = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
view.backgroundColor = .systemBlue
view.alpha = 0.8
view.isHidden = false
// Управление иерархией
parentView.addSubview(view) // Добавить как subview
view.removeFromSuperview() // Удалить из иерархии
// Анимация
UIView.animate(withDuration: 0.3) {
view.alpha = 1.0
view.center.y += 50
}
Важно: Для кастомной отрисовки переопределяйте метод draw(_ rect: CGRect), но делайте это осторожно, так как его вызовы требуют ресурсов. Для динамического контента часто эффективнее использовать готовые UILabel, UIImageView или слои (CALayer).