Como diferem os componentes StackView e TableView no desenvolvimento de interfaces?
sobes.tech IA
Resposta da IA
StackView e TableView são componentes diferentes para construir interfaces no iOS, que servem a diferentes propósitos:
-
UIStackView é um contêiner para organizar vistas filhas em direção horizontal ou vertical. Gerencia automaticamente o layout e o tamanho dos elementos aninhados, simplificando a criação de interfaces adaptativas sem precisar escrever muito código para constraints.
-
UITableView é um componente para exibir uma grande lista de dados homogêneos em forma de tabela, com capacidade de reutilização de células, rolagem e atualização dinâmica. Requer implementação de datasource e delegate para gerenciar o conteúdo e comportamento.
Exemplo de uso do UIStackView:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Adicionar constraints ao stackView
Exemplo básico de 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)
// Adicionar constraints ao 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
}
}
Assim, o StackView é para organizar elementos, o TableView para exibir listas de dados.