Kako se razlikuju komponente StackView i TableView u razvoju interfejsa?
sobes.tech АИ
Одговор од АИ
StackView i TableView su različiti sastavni dijelovi za izgradnju sučelja u iOS-u, koji služe različitim svrhama:
-
UIStackView je spremnik za organiziranje dječjih prikaza u vodoravnom ili okomito smjeru. Automatski upravlja rasporedom i veličinom ugniježđenih elemenata, pojednostavljujući stvaranje prilagodljivih sučelja bez potrebe za pisanjem puno koda za constraints.
-
UITableView je komponenta za prikaz velikog popisa homogenih podataka u obliku tablice, s mogućnošću ponovne upotrebe ćelija, pomicanja i dinamičkog ažuriranja. Za upravljanje sadržajem i ponašanjem zahtijeva implementaciju datasource i delegate.
Primjer korištenja UIStackView:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Dodajte constraints za stackView
Primjer osnovnog 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)
// Dodajte constraints za 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
}
}
Dakle, StackView služi za organizaciju elemenata, a TableView za prikazivanje popisa podataka.