Sobes.tech
Junior — Middle

Hoe verschillen de componenten StackView en TableView in interface-ontwikkeling?

sobes.tech AI

Antwoord van AI

StackView en TableView zijn verschillende componenten voor het bouwen van interfaces in iOS, die verschillende doelen dienen:

  • UIStackView is een container voor het rangschikken van kindweergaven in een horizontale of verticale richting. Het beheert automatisch de lay-out en grootte van de geneste elementen, wat het maken van responsieve interfaces vereenvoudigt zonder veel code voor constraints te schrijven.

  • UITableView is een component voor het weergeven van een grote lijst van eenduidige gegevens in de vorm van een tabel, met hergebruik van cellen, scrollen en dynamische updates. Het vereist implementatie van datasource en delegate om de inhoud en het gedrag te beheren.

Voorbeeld van gebruik van UIStackView:

let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Constraints toevoegen voor stackView

Voorbeeld van een basis UITableView:

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)
        // Constraints toevoegen voor 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
    }
}

Dus, StackView wordt gebruikt voor het organiseren van elementen, TableView voor het weergeven van datalijsten.