Sobes.tech
Junior — Middle

Kaip skiriasi StackView ir TableView komponentai interfeisų kūrime?

sobes.tech AI

Atsakymas iš AI

StackView ir TableView — tai skirtingi komponentai iOS vartotojo sąsajai kurti, kurie tarnauja skirtingiems tikslams:

  • UIStackView — tai konteineris vaikų vaizdų išdėstymui horizontaliai arba vertikaliai. Jis automatiškai valdo išdėstymą ir dydį, palengvindamas adaptuojamų sąsajų kūrimą be daug kodo rašymo constraints.

  • UITableView — tai komponentas, skirtas rodyti didelį vienodų duomenų sąrašą kaip lentelę su galimybe pakartotinai naudoti langelius, slinkti ir dinamiškai atnaujinti. Reikia įgyvendinti datasource ir delegate, kad valdyti turinį ir elgesį.

UIStackView naudojimo pavyzdys:

let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Pridėti constraints stackView

Pagrindinis UITableView pavyzdys:

class MyViewController: UIViewController, UITableViewDataSource {
    let tableView = UITableView()
    let data = ["Item 1", "Item 2", "Item 3"]

    override func viewDidLoad() {
        super.viewDidLoad()
        tableView.dataSource = self
        view.addSubview(tableView)
        // Pridėti constraints tableView
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell") ?? UITableViewCell(style: .default, reuseIdentifier: "cell")
        cell.textLabel?.text = data[indexPath.row]
        return cell
    }
}

Taigi, StackView skirtas elementų išdėstymui, o TableView — duomenų sąrašų rodymui.