Sobes.tech
Junior — Middle

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.