Sobes.tech
Junior — Middle

Hogyan oszd meg a képernyőt három egyenlő részre három View segítségével?

sobes.tech MI

Válasz az MI-től

Az iOS-ban három UIView segítségével az képernyőt három egyenlő részre oszthatja az Auto Layout használatával, és mindegyik három nézethez ugyanazt a magasságot (vagy szélességet, ha vízszintesen osztja fel) állíthatja be, és egymás alá (vagy mellett) helyezheti őket.

Példa függőleges elrendezéssel:

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

// Hozzáadás a szülőnézethez
superview.addSubview(view1)
superview.addSubview(view2)
superview.addSubview(view3)

// Autoresizing mask kikapcsolása
view1.translatesAutoresizingMaskIntoConstraints = false
view2.translatesAutoresizingMaskIntoConstraints = false
view3.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    // Kapcsolja össze a view1-et a szülőnézet felső szélével
    view1.topAnchor.constraint(equalTo: superview.topAnchor),
    view1.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view1.trailingAnchor.constraint(equalTo: superview.trailingAnchor),

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

    // view3 a view2 alatt
    view3.topAnchor.constraint(equalTo: view2.bottomAnchor),
    view3.leadingAnchor.constraint(equalTo: superview.leadingAnchor),
    view3.trailingAnchor.constraint(equalTo: superview.trailingAnchor),
    view3.bottomAnchor.constraint(equalTo: superview.bottomAnchor),

    // Mindhárom nézet ugyanakkora magasságú
    view1.heightAnchor.constraint(equalTo: view2.heightAnchor),
    view2.heightAnchor.constraint(equalTo: view3.heightAnchor)
])

Így a képernyő három egyenlő magasságú részre lesz osztva.