View (UIView в UIKit, View в SwiftUI) — это базовый прямоугольный элемент интерфейса, который:
class UIView {
var frame: CGRect // Положение и размер в координатах superview
var bounds: CGRect // Координатная система самого view
var center: CGPoint // Центр view в координатах superview
var alpha: CGFloat // Прозрачность (0.0 - 1.0)
var isHidden: Bool // Видимость view
var backgroundColor: UIColor? // Фоновый цвет
var clipsToBounds: Bool // Обрезать ли содержимое по границам
var layer: CALayer // Базовый Core Animation слой
}
let myView = UIView(frame: CGRect(x: 20, y: 20, width: 100, height: 100))
myView.backgroundColor = .blue
parentView.addSubview(myView)
struct MyView: View {
var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 100, height: 100)
}
}
// Добавление subview
parentView.addSubview(childView)
// Удаление view
childView.removeFromSuperview()
init(frame:)
- инициализацияdidMoveToSuperview()
- добавление в иерархиюlayoutSubviews()
- расчет layoutdraw(_:)
- отрисовка (редко используется)removeFromSuperview()
- удалениеonAppear()
- view появиласьonDisappear()
- view исчезлаisHidden
вместо удаления/добавления viewprepareForReuse()
layoutSubviews()
EquatableView
для оптимизации// Новые модификаторы
ContentView()
.containerRelativeFrame(.horizontal) // Адаптивные размеры
.scrollTransition { content, phase in
content.opacity(phase.isIdentity ? 1 : 0.5) // Анимации скролла
}
View — это фундаментальный строительный блок любого iOS-интерфейса, отвечающий за отображение, обработку событий и компоновку элементов. Независимо от того, работаете ли вы с императивным UIKit или декларативным SwiftUI, понимание природы View критически важно для создания эффективных интерфейсов.