iOS 13 (но, похоже, верно и в iOS 10.3).
Мне очень трудно получить окончательную высоту представления в сложной иерархии представлений перед чем-либо нарисован на экране. У меня есть UIPageViewControl с серией настраиваемых UIViewController. Одно из вложенных представлений в нем - это табличное представление, и я хочу настроить высоту ячейки на основе высоты табличного представления, чтобы отображалось целое количество ячеек.
К сожалению, окончательная высота таблицы вид не определяется, кажется, пока не будут исчерпаны все крючки. Я пробовал все следующие варианты: viewDidLoad()
, viewWill/DidAppear()
, viewDidLayoutSubviews()
, layoutSubviews()
и didMoveToWindow()
(в виде таблицы и root). Я пробовал набирать layoutIfNeeded()
в каждом из вышеперечисленных.
В конце концов, после didMoveToWindow()
(что идет после viewDidAppear
, досадно), layoutSubviews()
получает вызывается еще пару раз, и только в этих последних двух вызовах представление имеет окончательную высоту. На этом этапе невозможно установить высоту ячейки и перезагрузить представление таблицы без видимого изменения на экране.
Кажется, нет возможности сделать это sh.
Am Я что-то упускаю? Думаю, я могу попробовать вместо этого UICollectionView.