Создайте AutoSize TableView программно - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь создать автоматическое изменение размера таблицы программно, но ячейки не увеличивают свою высоту, чтобы соответствовать содержимому, и, следовательно, следующая ячейка начинается в предыдущей ячейке.Что еще мне нужно сделать, пожалуйста?

MyTableViewControler.swift

override func viewDidLoad() {

        super.viewDidLoad()

        tableView.estimatedRowHeight = 120
        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.translatesAutoresizingMaskIntoConstraints = false
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier)

        if (cell == nil) {

            cell = UITableViewCell.init(style: .default, reuseIdentifier: reuseIdentifier)
            cell?.translatesAutoresizingMaskIntoConstraints = false

            let contentView = (cell?.contentView)!

            // Title
            let titleL = UILabel(frame: .zero)
            contentView.addSubview(titleL)

            titleL.translatesAutoresizingMaskIntoConstraints = false
            titleL.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 10).isActive = true
            titleL.rightAnchor.constraint(equalTo: contentView.rightAnchor, constant: 0).isActive = true
            titleL.leftAnchor.constraint(equalTo: contentView.leftAnchor, constant: 0).isActive = true
        }

        return cell
}

enter image description here

1 Ответ

0 голосов
/ 01 июня 2018

Вы должны также добавить нижнее ограничение

    titleL.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: 0).isActive = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...