Sobes.tech
Back to questions
Junior — Middle
66

Каким образом разделить экран на три равных части с помощью трех View?

Answer from AI

sobes.tech AI

Чтобы разделить экран на три равных части с помощью трех UIView в iOS, можно использовать Auto Layout и задать каждому из трех вью одинаковую высоту (или ширину, если делим по горизонтали) и расположить их друг под другом (или рядом).

Пример с вертикальным расположением:

let view1 = UIView()
let view2 = UIView()
let view3 = UIView()

// Добавляем в супервью
superview.addSubview(view1)
superview.addSubview(view2)
superview.addSubview(view3)

// Отключаем autoresizing mask
view1.translatesAutoresizingMaskIntoConstraints = false
view2.translatesAutoresizingMaskIntoConstraints = false
view3.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    // Привязываем view1 к верхнему краю супервью
    view1.topAnchor.constraint(equalTo: superview.topAnchor),
    view1.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view1.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

    // view2 под view1
    view2.topAnchor.constraint(equalTo: view1.bottomAnchor),
    view2.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view2.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

    // view3 под view2
    view3.topAnchor.constraint(equalTo: view2.bottomAnchor),
    view3.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view3.trailingAnchor.constraint(equalTo: superview.trailingAnchor),
    view3.bottomAnchor.constraint(equalTo: superview.bottomAnchor),

    // Все три вью одинаковой высоты
    view1.heightAnchor.constraint(equalTo: view2.heightAnchor),
    view2.heightAnchor.constraint(equalTo: view3.heightAnchor)
])

Таким образом экран будет разделен на три равные по высоте части.