Ответ
Класс UIControl находится в середине цепочки наследования UIKit, которая выглядит следующим образом:
NSObject → UIResponder → UIView → UIControl
Что дает каждое звено иерархии:
NSObject: Корневой класс большинства Objective-C/Swift классов в Cocoa Touch. Предоставляет базовые возможности, такие как работа с runtime и реализация протоколов.UIResponder: Наследует отNSObject. Делает класс частью цепочки ответчиков (responder chain). Это дает возможность обрабатывать различные события: касания (touchesBegan), движение, нажатия с клавиатуры, удаленное управление.UIView: Наследует отUIResponder. Добавляет возможности для отображения на экране: геометрия (frame, bounds), иерархия представлений (subviews, superview), анимация, рисование, автоматическая компоновка (Auto Layout).UIControl: Наследует отUIView. Является базовым классом для всех интерактивных элементов управления. Добавляет:- Модель target-action: Стандартизированный механизм для обработки событий (
.touchUpInside,.valueChanged) с помощью методовaddTarget(_:action:for:). - Состояния (Control State): Свойства
isEnabled,isSelected,isHighlighted, которые влияют на внешний вид и поведение. - Контентное выравнивание: Свойства для управления расположением заголовка и изображения.
- Модель target-action: Стандартизированный механизм для обработки событий (
Примеры подклассов UIControl: UIButton, UISwitch, UISlider, UITextField, UISegmentedControl.