Установка высоты UITableViewCell на основе UITableViewHeight ПЕРЕД рисованием - PullRequest
0 голосов
/ 30 мая 2020

iOS 13 (но, похоже, верно и в iOS 10.3).

Мне очень трудно получить окончательную высоту представления в сложной иерархии представлений перед чем-либо нарисован на экране. У меня есть UIPageViewControl с серией настраиваемых UIViewController. Одно из вложенных представлений в нем - это табличное представление, и я хочу настроить высоту ячейки на основе высоты табличного представления, чтобы отображалось целое количество ячеек.

К сожалению, окончательная высота таблицы вид не определяется, кажется, пока не будут исчерпаны все крючки. Я пробовал все следующие варианты: viewDidLoad(), viewWill/DidAppear(), viewDidLayoutSubviews(), layoutSubviews() и didMoveToWindow() (в виде таблицы и root). Я пробовал набирать layoutIfNeeded() в каждом из вышеперечисленных.

В конце концов, после didMoveToWindow() (что идет после viewDidAppear, досадно), layoutSubviews() получает вызывается еще пару раз, и только в этих последних двух вызовах представление имеет окончательную высоту. На этом этапе невозможно установить высоту ячейки и перезагрузить представление таблицы без видимого изменения на экране.

Кажется, нет возможности сделать это sh.

Am Я что-то упускаю? Думаю, я могу попробовать вместо этого UICollectionView.

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