Czym różnią się komponenty StackView i TableView w tworzeniu interfejsów?
sobes.tech AI
Odpowiedź od AI
StackView i TableView to różne komponenty służące do tworzenia interfejsów w iOS, które mają różne cele:
-
UIStackView to kontener do układania widoków potomnych w kierunku poziomym lub pionowym. Automatycznie zarządza rozmieszczeniem i rozmiarem zagnieżdżonych elementów, upraszczając tworzenie responsywnych interfejsów bez konieczności pisania dużej ilości kodu dla constraints.
-
UITableView to komponent do wyświetlania dużej listy jednorodnych danych w formie tabeli, z możliwością ponownego użycia komórek, przewijania i dynamicznej aktualizacji. Wymaga implementacji datasource i delegate do zarządzania zawartością i zachowaniem.
Przykład użycia UIStackView:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Dodaj constraints dla stackView
Przykład podstawowego 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)
// Dodaj constraints dla 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
}
}
Zatem, StackView służy do organizacji elementów, TableView do wyświetlania list danych.