Sobes.tech
Junior — Middle

Kā sadalīt ekrānu trīs vienādās daļās, izmantojot trīs View?

sobes.tech AI

Atbilde no AI

Lai sadalītu ekrānu trīs vienādās daļās, izmantojot trīs UIView iOS, varat izmantot Auto Layout un katram no trim skatieniem piešķirt vienādu augstumu (vai platumu, ja dalāmies horizontāli) un novietot tos viens virs otra (vai blakus).

Piemērs ar vertikālo izvietojumu:

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

// Pievienojam superview
superview.addSubview(view1)
superview.addSubview(view2)
superview.addSubview(view3)

// Atspējo autoresizing mask
view1.translatesAutoresizingMaskIntoConstraints = false
view2.translatesAutoresizingMaskIntoConstraints = false
view3.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    // Piesaista view1 pie superview augšējā mala
    view1.topAnchor.constraint(equalTo: superview.topAnchor),
    view1.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view1.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

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

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

    // Visas trīs skatieni ir vienāda augstuma
    view1.heightAnchor.constraint(equalTo: view2.heightAnchor),
    view2.heightAnchor.constraint(equalTo: view3.heightAnchor)
])

Tādējādi ekrāns tiks sadalīts trīs vienādās augstuma daļās.