Sobes.tech
Junior — Middle

Cum se diferențiază componentele StackView și TableView în dezvoltarea interfețelor?

sobes.tech AI

Răspuns de la AI

StackView și TableView sunt componente diferite pentru construirea interfețelor în iOS, care servesc scopuri diferite:

  • UIStackView este un container pentru aranjarea vizualizărilor copil în direcție orizontală sau verticală. Gestionează automat aranjamentul și dimensiunea elementelor înglobate, simplificând crearea de interfețe adaptive fără a fi nevoie să scrii mult cod pentru constrângeri.

  • UITableView este un component pentru afișarea unei liste mari de date omogene sub formă de tabel, cu posibilitatea de reutilizare a celulelor, derulare și actualizare dinamică. Necesită implementarea datasource și delegate pentru gestionarea conținutului și comportamentului.

Exemplu de utilizare UIStackView:

let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// Adaugă constrângeri pentru stackView

Exemplu de bază pentru 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)
        // Adaugă constrângeri pentru 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
    }
}

Prin urmare, StackView este pentru organizarea elementelor, TableView pentru afișarea listelor de date.