Sobes.tech
Junior — Middle

Чӣ тавр экранро бо истифода аз се View ба се қисмати баробар тақсим кардан мумкин аст?

sobes.tech AI

Ҷавоб аз AI

Барои тақсим кардани экран ба се қисмати баробар бо истифода аз се UIView дар iOS, шумо метавонед Auto Layout-ро истифода баред ва ба ҳар як се View якхела баландиро (ё паҳнро, агар дар уфуқӣ тақсим кунед) таъин кунед ва онҳоро як ба дигарӣ ҷойгир кунед (ё дар паҳлӯ).

Масалан бо тартиби амудӣ:

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

// Ба superview илова кунед
superview.addSubview(view1)
superview.addSubview(view2)
superview.addSubview(view3)

// Маскаи автоматии тағирёбиро ғайрифаъол кунед
view1.translatesAutoresizingMaskIntoConstraints = false
view2.translatesAutoresizingMaskIntoConstraints = false
view3.translatesAutoresizingMaskIntoConstraints = false

NSLayoutConstraint.activate([
    // View1-ро ба канори болоии superview пайваст кунед
    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),

    // Ҳамаи се View-ҳо якхела баландӣ доранд
    view1.heightAnchor.constraint(equalTo: view2.heightAnchor),
    view2.heightAnchor.constraint(equalTo: view3.heightAnchor)
])

Ин гуна, экран ба се қисмати баробар тақсим мешавад.