Quelle est la différence entre les composants StackView et TableView dans le développement d'interfaces?
sobes.tech IA
Réponse de l'IA
StackView et TableView sont des composants différents pour construire des interfaces dans iOS, servant à des fins différentes:
-
UIStackView est un conteneur pour organiser des vues enfants en orientation horizontale ou verticale. Il gère automatiquement la disposition et la taille des éléments imbriqués, simplifiant la création d'interfaces adaptatives sans avoir besoin d'écrire beaucoup de code pour les contraintes.
-
UITableView est un composant pour afficher une grande liste de données homogènes sous forme de tableau, avec la possibilité de réutiliser des cellules, de faire défiler et de mettre à jour dynamiquement. Il nécessite l'implémentation de datasource et delegate pour gérer le contenu et le comportement.
Exemple d'utilisation de UIStackView:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Ajouter des contraintes pour stackView
Exemple de UITableView de base:
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)
// Ajouter des contraintes pour 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
}
}
Ainsi, StackView sert à organiser des éléments, TableView à afficher des listes de données.