Я использую UITableView в своем приложении для iOS и недавно обнаружил странную проблему.
Предположим, моя таблица структурирована следующим образом:
section 1 header
row
section 2 header
section 3 header
row
row
...
(обратите внимание, что в разделе 2 нет строк)
Я выполняю обновления строк в моей таблице с помощью
[self.tv beginUpdates];
[self.tv reloadRowsAtIndexPaths:ip withRowAnimation:UITableViewRowAnimationNone];
[self.tv endUpdates];
Я не хочу, чтобы анимация происходила. Я просто хочу обновить строку. Проблема заключается в том, что эта стратегия работает для каждой строки и раздела в моей таблице , за исключением раздела 3, строки 1: первой строки последнего раздела. Когда я обновляю эту строку (которая действительно использует правильные indexPaths), вместо того, чтобы не получать анимацию, строка выполняет этот маленький прыжок, как будто она скользит в новой строке, чтобы заменить старую или что-то еще. Строка слегка сдвигается вверх, а затем возвращается назад, как будто я вставляю строку. Я предполагаю, что это как-то связано с вычислениями заголовка, но я возвращаю правильные значения для heightForHeaderInSection.
Кто-нибудь видел такое поведение?