UITableView Автоматическое измерение не работает правильно - PullRequest
0 голосов
/ 15 ноября 2018

У меня есть табличное представление, которое заполняется данными из Firebase.Однако при изменении размера табличного представления с использованием автоматического измерения некоторый текст отображается обрезанным.

Вот мой раскадровка с ограничениями, установленными сверху, снизу, справа и слева.

enter image description here

Работает нормально, когда не так много текста, как показано здесь.

enter image description here

Однако, когда я заполняю ячейку большим количеством текста, это происходит.

enter image description here

Вот код, который я сейчас использую.

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if (tableView == questInformationTableView) {
            return 50
        }
        else if (tableView == questWalkthroughTableView) {

            return UITableView.automaticDimension
        }

        return 0
    }
    override func viewDidLoad() {
          super.viewDidLoad()
          questWalkthroughTableView.estimatedRowHeight = 250
          questWalkthroughTableView.rowHeight = UITableView.automaticDimension
        }

    func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
         return UITableView.automaticDimension
        }

Я также установил для numberOfLines значение 0 и установилметка для .sizeToFit ()

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Я обычно устанавливаю автоматическое измерение высоты, а затем делаю перезагрузку в viewDidLoad следующим образом

override func viewDidLoad() {
    super.viewDidLoad()

    tableView.rowHeight = UITableViewAutomaticDimension
    tableView.estimatedRowHeight = 44

    tableView.reloadData()   
}
0 голосов
/ 15 ноября 2018

Не делайте нижнее ограничение больше или равным, просто установите его как верхнее ограничение. Уберите функции estimatedHeightForRowAt и heightForRowAt. По вашему мнению загрузки объявлений достаточно. При перезагрузке данных также звоните self.view.layoutIfNeeded

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...