Sobes.tech
Junior — Middle

Jak rozdělit obrazovku na tři stejné části pomocí tří View?

sobes.tech AI

Odpověď od AI

Chcete-li rozdělit obrazovku na tři stejné části pomocí tří UIView v iOS, můžete použít Auto Layout a nastavit každému ze tří pohledů stejnou výšku (nebo šířku, pokud dělíte horizontálně) a umístit je jeden pod druhý (nebo vedle sebe).

Příklad s vertikálním uspořádáním:

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

// Přidat do superview
superview.addSubview(view1)
superview.addSubview(view2)
superview.addSubview(view3)

// Zakázat masku automatického přizpůsobení
view1.translatesAutoresizingMaskIntoConstraints = false
view2.translatesAutoresizingMaskIntoConstraints = false
view3.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    // Připojit view1 k hornímu okraji superview
    view1.topAnchor.constraint(equalTo: superview.topAnchor),
    view1.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view1.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

    // view2 pod view1
    view2.topAnchor.constraint(equalTo: view1.bottomAnchor),
    view2.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view2.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

    // view3 pod 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),

    // Všechny tři pohledy mají stejnou výšku
    view1.heightAnchor.constraint(equalTo: view2.heightAnchor),
    view2.heightAnchor.constraint(equalTo: view3.heightAnchor)
])

Tímto způsobem bude obrazovka rozdělena na tři stejné výšky části.