UITableViewController отменяет анимацию режима редактирования при вызове [table reloadData] внутри (void) setEditing - PullRequest
1 голос
/ 07 мая 2011

У меня небольшая проблема:

я сделал мой метод setEditing:

- (void)setEditing:(BOOL)editing animated:(BOOL)animate {   
    [super setEditing:editing animated:animate];
    [mainTableView reloadData];
}

Я использую reloadData для вызова: cellForRowAtIndexPath, а затем, если таблицав режиме редактирования я изменю внешний вид своей ячейки (например, скрывая некоторые метки);

Проблема заключается в том, что при вызове [mainTableView reloadData] анимации редактирования (красный круг скользит слева направои моя камера скользит вправо) не существует.Если не вызывать его, все работает нормально, но я не могу настроить свою ячейку, так как cellForRowAtIndexPath больше не вызывается.

Любое предложение, чтобы заставить его работать ??

Спасибо!

1 Ответ

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

Может быть, вы попытаетесь обновить таблицу с помощью [tableView beginUpdates] и [tableView endUpdates] ?Вам нужно перезагрузить все ячейки или только некоторые из них?

РЕДАКТИРОВАТЬ: Вот код для перезагрузки всех ячеек:

[tableView beginUpdates];
NSMutableArray *updatedPaths = [NSMutableArray array];
for (NSNumber *row in yourArray) {
    NSIndexPath *updatedPath = [NSIndexPath indexPathForRow:[row intValue] inSection:0];
    [updatedPaths addObject:updatedPath];
}
[tableView reloadRowsAtIndexPaths:updatedPaths withRowAnimation:UITableViewRowAnimationFade];
[tableView endUpdates];

yourArray - это экземпляр NSArray, в котором вы храните значения cell.textLabel или что-то в этом роде ...

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