Sobes.tech
Junior — Middle

Hogyan különböznek a StackView és a TableView komponensek az interfészfejlesztésben?

sobes.tech MI

Válasz az MI-től

A StackView és a TableView különböző komponensek az iOS felületek építéséhez, amelyek különböző célokat szolgálnak:

  • UIStackView egy konténer a gyermeknézetek rendezéséhez vízszintes vagy függőleges irányban. Automatikusan kezeli az elrendezést és a méretet, megkönnyítve az adaptív felületek létrehozását anélkül, hogy sok kódot kellene írni a constraint-ekhez.

  • UITableView egy komponens nagy mennyiségű homogén adat megjelenítéséhez táblázat formájában, ahol a cellák újrahasznosíthatók, görgethetők és dinamikusan frissíthetők. Az adatforrás és a delegate megvalósítását igényli az adatok és a viselkedés kezelése érdekében.

UIStackView használatának példája:

let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Constraints hozzáadása a stackView-hez

Alap UITableView példa:

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 hozzáadása a tableView-hez
    }

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

Tehát, a StackView az elemek szervezésére szolgál, míg a TableView adatok listáinak megjelenítésére.