Arayüz geliştirmede StackView ve TableView bileşenleri nasıl farklılık gösterir?
sobes.tech yapay zeka
AI'dan gelen yanıt
StackView ve TableView, iOS'ta arayüzler oluşturmak için farklı amaçlara hizmet eden farklı bileşenlerdir:
-
UIStackView, çocuk görünümlerini yatay veya dikey yönde düzenlemek için bir konteynerdir. İç içe geçmiş öğelerin konumlandırmasını ve boyutunu otomatik olarak yönetir, böylece uyumlu arayüzler oluşturmayı kolaylaştırır ve çok fazla constraint kodu yazmaya gerek kalmaz.
-
UITableView ise, büyük ve tek tip verilerin tablo halinde gösterilmesi için kullanılan bir bileşendir. Hücrelerin yeniden kullanımı, kaydırma ve dinamik güncelleme özelliklerine sahiptir. İçeriği ve davranışı yönetmek için datasource ve delegate uygulaması gereklidir.
UIStackView kullanım örneği:
let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// stackView için constraints ekle
Temel UITableView örneği:
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)
// tableView için constraints ekle
}
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
}
}
Bu nedenle, StackView öğeleri düzenlemek için kullanılır, TableView ise veri listelerini göstermek için.