Swift UITableView не может правильно рассчитать высоту содержимого - PullRequest
0 голосов
/ 03 февраля 2019

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

У меня есть собственный класс UITableView, который встроен в другой пользовательский UITableView, я хочу, чтобы он автоматически настраивал его высотучтобы уместить содержимое, так что у меня уже есть:

override var contentSize: CGSize {
    didSet {
        self.invalidateIntrinsicContentSize()
    }
}

override var intrinsicContentSize: CGSize {
    self.layoutIfNeeded()
    return self.contentSize
}

А теперь, когда я использую:

self.estimatedRowHeight = UITableView.automaticDimension // non-zero value like 40 isn't working either
self.rowHeight = UITableView.automaticDimension

, получается кадр не полной высоты, когда я включаю «Прокрутка включена»в этом TableView он прокручивается с полным содержимым (не хочу этого): estimatedRowHeight set to .automaticDimension

Теперь, когда я изменяю

self.estimatedRowHeight = UITableView.automaticDimension

на:

self.estimatedRowHeight = 0

вывод - это именно то, что я хотел бы получить, за исключением того, что текст содержимого обрезан ... estimatedRowHeight = 0

Вот мой CommentCell: CommentCell

Консоль не выдает никаких ошибок при авторазметке в любом случае.

Возможно, вы знаете, что происходит?Я провел буквально дни, пытаясь заставить эти комментарии работать, и это последнее, что мне нужно.Если вам нужна дополнительная информация, пожалуйста, просто скажите мне.

Редактировать: Если я изменяю оценочный вес строки, например, на 500, я получаю множество пустого пространства под ячейками: enter image description here Так чтопохоже, что TableView не может зафиксировать высоту ячейки для содержимого.Может быть, это кому-нибудь поможет.

1 Ответ

0 голосов
/ 03 февраля 2019

Возможно, речь идет о текстовом поле внутри CellView.Вы установили это Layout на обертки?

Также я бы попытался установить его внутреннее значение размера в качестве заполнителя внутри инспектора размера.

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