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.