Авторазмер UITableViewCell с UITextView, текст которого выровнен по вертикали по центру одновременно? - PullRequest
0 голосов
/ 10 декабря 2018

Ячейка содержит многострочный текст, поэтому я решил использовать текстовый просмотр.

textView.textContainerInset = UIEdgeInsets.zero удаляет дополнительные отступы.Код для его центрирования по вертикали:

extension UITextView {
    func centerVertically() {
        var topCorrect = (self.bounds.size.height - self.contentSize.height * self.zoomScale) / 2
        topCorrect = topCorrect < 0.0 ? 0.0 : topCorrect;
        self.contentInset.top = topCorrect
    }
}

Это работает, если я предварительно задаю высоту ячейки в tableView(_:, heightForRowAt:).

Но если я использую UITableView.automaticDimension для изменения размера ячейки, все становится неработоспособным.

Как решить эту проблему?

1 Ответ

0 голосов
/ 10 декабря 2018
  1. Использовать автоматическое расположение и вывод пина, задний, верхний и нижний, ограничения просмотра текста в ячейку.
  2. Отключить прокрутку в просмотре текста
  3. Добавить ограничение по высоте, чтобы высота былабольше или равно постоянному значению (это минимальное значение, которое будет отображаться на экране) для textview
  4. Пользовательское .automatic измерение

Попробуйте это и дайте мне знать, если этосработало для вас

...