Sobes.tech
Junior — Middle

Kuidas erinevad StackView ja TableView komponendid kasutajaliidese arendamisel?

sobes.tech AI

Vastus AI-lt

StackView ja TableView on erinevad komponendid iOS-i kasutajaliidese loomiseks, mis teenivad erinevaid eesmärke:

  • UIStackView — see on konteiner, mis korraldab alamvaate horisontaalses või vertikaalses suunas. See haldab automaatselt alamelementide paigutust ja suurust, lihtsustades reageerivate kasutajaliideste loomist ilma palju koodi kirjutamata constraints'i jaoks.

  • UITableView — see on komponent, mis võimaldab kuvada suurt hulka sarnaseid andmeid tabelina, kus on võimalus taaskasutada lahtrid, kerida ja dünaamiliselt uuendada. Selleks on vaja rakendada datasource ja delegate, et hallata sisu ja käitumist.

UIStackView kasutamise näide:

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

Põhiline UITableView näide:

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)
        // Lisa constraints tableView'ile
    }

    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
    }
}

Seega, StackView on mõeldud elementide paigutamiseks, TableView aga andmesiltide kuvamiseks.