У меня есть представление UITable с пользовательскими ячейками. В некоторых ячейках есть кнопка, чтобы развернуть / свернуть. Иногда изменяемая ячейка, кажется, прыгает в интерфейсе.
Я использую Autolayout и динамический расчет высоты с помощью heightForRowAtIndexPath:
. Я просмотрел несколько учебных пособий, в том числе , этот - по ячейкам табличного представления с самоопределением размера , которые я использую для исследования проблемы.
Чтобы воспроизвести проблему, прокрутите середину таблицы и разверните несколько ячеек. Нажмите на ячейку, которая частично показывает. Ячейка будет прыгать, а не оставаться на месте.
Пример:
Видео 1
Проблема становится более очевидной, когда я закомментирую строку, которая прокручивается до верхней части ячейки после выбора ячейки.
Видео 2
Я попробовал предложение @ DonMag. С маленькими клетками проблема не возникает. Когда я увеличил высоту ячейки до> 60% высоты экрана, произошла анимация прыжка ( видео ).
Я изменил
Question Label.top = topMargin + 8
до
Question Label.top = topMargin + 800
Когда я погружаюсь в код, кажется, что проблема возникает при вызове
[tableView beginUpdates];
[tableView endUpdates];
Но этот фрагмент необходим для представления таблицы для пересчета высоты ячейки.
Я хочу, чтобы ячейка оставалась на месте при изменении размера без анимации прыжка.