IOS 4.3 UITableView / UITableViewCell с настраиваемым фоном не перерисовывается при удалении - PullRequest
0 голосов
/ 20 мая 2011

У меня есть UITableView, который использует пользовательские фоновые изображения для ячеек (закругленные края для первой и последней ячейки). Когда первая или последняя ячейка удаляется (через commitEditingStyleForRowAtIndexPath), tableView не сразу перерисовывает ячейки. То есть, если я удаляю первую ячейку (со скругленными краями), вторая ячейка становится первой (как и ожидалось), но у нее нет фонового изображения со скругленными краями. Только когда эта ячейка будет перетаскиваться из вида, или я переключаюсь на другую вкладку и обратно, «новая» первая ячейка имеет соответствующее фоновое изображение. Теперь я могу сделать вызов reloadData после операции удаления, и это заставляет перерисовывать всю таблицу, что, кажется, работает, но документы API не советуют делать это, и это кажется неэффективным. Итак, мой вопрос: где в стеке вызовов лучшее место для запуска перерисовки моей «новой» первой ячейки после операции commitEditingStyleForRowAtIndexPath?

Спасибо

1 Ответ

1 голос
/ 20 мая 2011

Перезагрузить только эту строку / ячейку:

  - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths 
             withRowAnimation:(UITableViewRowAnimation)animation

и присвойте ей строку indexPath, равную 0 или (последней), в зависимости от того, какой она была.

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