SectionHeader Открыть / Закрыть Анимация - PullRequest
1 голос
/ 13 декабря 2011

Я реализовал tableView с заголовками разделов, которые при касании раскрывают ячейки.Это просто большая кнопка в заголовке раздела, и когда она нажимается, я вычисляю, какие ячейки нужно удалить, и затем вызываю:

[tableView beginUpdates];
//delete necessary cells 
[tableView endUpdates];

Моя проблема заключается в анимации этого.Он прекрасно работает, когда вы открываете один раздел, а затем либо открываете другой, либо закрываете тот же самый без необходимости прокручивать tableView.Но если вы в конечном итоге прокручиваете представление таблицы, а затем открываете другой, происходит очень странная вещь.Один из заголовков разделов перемещается в нижнюю часть экрана, а затем возвращается на свое место.Для анимации я просто вызываю deleteRowsAtIndexPathsWithAnimation и противоположный метод вставки с автоматическим типом анимации tableView.Кто-нибудь знает, почему это происходит?

Существует пример кода Apple TVAnimationsGestures (он появляется, если вы просто ищете таблицу), который делает то же самое, что и моя программа.Если вы хотите увидеть более подробно код и проблему, вы должны это проверить.

Спасибо,

1 Ответ

0 голосов
/ 21 декабря 2011

Одна вещь, которую нужно проверить, это значения, которые вы возвращаете в numberOfSectionInTableView и numberOfRowsInSection.

Я думаю, что когда таблица должна прокручиваться, она вызывает эти методы, поэтому, если у вас есть несоответствие в том, что они возвращают в число строк в вашем tableView, могут произойти странные вещи.

Поэтому при удалении строки убедитесь, что вы также обновляете количество возвращаемых строк в разделе.

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