Что такое UIView в iOS?

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

Ответ

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).