Я показываю UITableView
в UIPopoverController
. Это табличное представление скрывает/показывает некоторые ячейки при нажатии на другую ячейку (сравните с это руководство). Поскольку это всплывающее окно, я хочу адаптировать размер всплывающего окна. Поэтому я хочу использовать анимацию с preferredContentSize
.
Теперь проблема в том, что если я вычисляю contentSize
, я не получаю фактический размер, потому что потом вызывается heightForRowAtIndexPath
. Мне нужна высота представления таблицы после перезагрузки представления таблицы или обнаружения изменения высоты представления таблицы.
Как я могу получить правильную высоту представления таблицы, чтобы адаптировать размер всплывающего окна?
Возможные обходные пути:
- прокрутите позицию новой ячейки
- никогда не скрывает ячейки
- показать всплывающее окно в полном размере
- рассчитать размеры вручную
Но все обходные пути имеют некоторые недостатки/ограничения. № 1 выглядит не очень хорошо, № 2 плохо работает для меня в ландшафтном режиме (другой контент может быть пропущен), № 3 выглядит не очень хорошо, а также другой контент может быть пропущен, а № 4 будет работать, если я знаю обо всех возможных случаях.
Все еще ищет лучшее решение.
contentSize
. Другим обходным решением было бы использованиеscrollToRowAtIndexPath
. Подходы, которые я видел для обнаружения события завершения загрузки, у меня не сработали (willDisplayCell
,didEndDisplayingCell
, ...). - person testing   schedule 14.11.2014