Sobes.tech
Junior — Middle

Интерфейс түзүүдө StackView жана TableView компоненттери кандай айырмаланат?

sobes.tech AI

AIден жооп

StackView жана TableView iOS үчүн интерфейстерди түзүүдө ар башка максаттар үчүн кызмат кылган ар башка компоненттер болуп саналат:

  • UIStackView — бул балдар көрүнүштөрүн горизонталдык же вертикалдык багытта уюштуруу үчүн контейнер. Ал автоматтык түрдө ички элементтердин жайгашуусун жана өлчөмүн башкарат, адаптивдүү интерфейстерди түзүүнү жеңилдетет жана көп код жазууну талап кылбайт.

  • UITableView — бул чоң көлөмдөгү бирдей маалыматтарды таблица түрүндө көрсөтүү үчүн компонент, ал жерде клеткелерди кайра колдонуу, сүрүү жана динамикалык жаңылоо мүмкүнчүлүктөрү бар. Ал мазмунду жана жүрүм-турумду башкаруу үчүн datasource жана delegate ишке ашырууну талап кылат.

UIStackView колдонуу мисалы:

let stackView = UIStackView(arrangedSubviews: [view1, view2, view3])
stackView.axis = .vertical
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
// stackView үчүн constraints кошуу

Негизги 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)
        // tableView үчүн constraints кошуу
    }

    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
    }
}

Ошентип, StackView элементтерди уюштурууга, ал эми TableView маалыматтардын тизмелерин көрсөтүүгө кызмат кылат.