Ako sa líšia komponenty StackView a TableView vo vývoji rozhraní?
sobes.tech AI
Odpoveď od AI
StackView a TableView sú rôzne komponenty na vytváranie rozhraní v iOS, ktoré slúžia na rôzne účely:
-
UIStackView je kontajner na usporiadanie podriadených pohľadov v horizontálnom alebo vertikálnom smere. Automaticky riadi rozloženie a veľkosť vnorených prvkov, čím zjednodušuje tvorbu adaptívnych rozhraní bez potreby písania veľkého množstva kódu pre constraints.
-
UITableView je komponent na zobrazovanie veľkého zoznamu homogénnych dát vo forme tabuľky, s možnosťou opätovného použitia buniek, posúvania a dynamickej aktualizácie. Vyžaduje implementáciu datasource a delegate na správu obsahu a správania.
Príklad použitia UIStackView:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Pridať constraints pre stackView
Príklad základného 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)
// Pridať constraints pre 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
}
}
Preto, StackView slúži na organizáciu prvkov, zatiaľ čo TableView na zobrazovanie zoznamov dát.