Sobes.tech
Junior — Middle

Kā atšķiras StackView un TableView komponenti interfeisa izstrādē?

sobes.tech AI

Atbilde no AI

StackView un TableView ir dažādi komponenti iOS saskarnes veidošanai, kas kalpo dažādiem mērķiem:

  • UIStackView — tas ir konteineris bērnu skatījumu izvietošanai horizontāli vai vertikāli. Tas automātiski pārvalda iekšējo elementu novietojumu un izmēru, vienkāršojot pielāgojamu saskarnes izveidi bez daudz koda rakstīšanas constraints.

  • UITableView — tas ir komponenta, lai attēlotu lielu vienveidīgu datu sarakstu tabulas formā ar iespēju atkārtoti izmantot šūnas, ritināt un dinamiski atjaunināt. Tam ir nepieciešama datu avota un delegāta ieviešana satura un uzvedības pārvaldībai.

UIStackView piemērs:

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

Pamata UITableView piemērs:

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)
        // Pievienot 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
    }
}

Tādējādi, StackView ir paredzēts elementu izvietošanai, bet TableView — datu sarakstu attēlošanai.