UITableView insertRowAtIndexPaths затем scrollToRowAtIndexPath отрисовывает ячейку дважды - PullRequest
0 голосов
/ 02 марта 2010

Я вставляю в свою таблицу новую ячейку, которая, как я знаю, не будет видна (я знаю, что она находится за пределами экрана), поэтому я вызываю scrollToRowAtIndexPath, например,

[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:myIndexPath] withRowAnimation:UITableViewRowAnimationBottom];
[tableView scrollToRowAtIndexPath:myIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];

Однако, когда я делаю это, я действительно вижу, как ячейка рисуется / анимируется дважды, и удаление UITableViewRowAnimationBottom из вставки будет означать, что она не будет анимирована, когда вставка должна быть видимой (например, во 2-й строке).

Есть идеи, как я могу решить эту проблему с анимацией?

Спасибо,
Пол

1 Ответ

1 голос
/ 03 марта 2010

Вы можете проверить, является ли строка видимой - если она видна, пропустите прокрутку, иначе используйте UITableViewRowAnimationNone. Если вы вызываете -cellForRowAtIndexPath: для UITableView, он должен вернуть nil, если строка не видна.

...