Скрытие UITableViewCells при входе в режим редактирования в UITableViewCell (аналог приложения «Контакты») - PullRequest
3 голосов
/ 25 сентября 2011

Кто-нибудь знает, как скрыть количество ячеек от сгруппированного UITableView при входе в режим редактирования?Я хотел бы, чтобы строки выходили с эффектом анимации, как это видно в приложении «Контакты» при выходе из режима редактирования.

Как вы знаете, в режиме редактирования контактов больше строк, чем при переключении обратно в обычный режим.,Я хотел бы знать, как происходит плавное переключение.

Обратите внимание, что мой подкласс UITableView загружает статические UITableViewCells из того же кончика, используя IBOutlets.

Ответы [ 2 ]

4 голосов
/ 05 октября 2011

просто обновление для тех, кто удаляет или вставляет более одной группы строк:

[self.tableView beginUpdates];
[self.tableView reloadRowsAtIndexPaths: ......];
[self.tableView insertRowsAtIndexPaths: ......];
[self.tableView removeRowsAtIndexPaths: ......];
[self.tableView endUpdates];

: D

2 голосов
/ 25 сентября 2011

Когда вы устанавливаете режим редактирования UITableView, вы должны сначала обновить ваш источник данных, а затем вставить / удалить строки.

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
    [super setEditing:editing animated:animated];
    [tableView setEditing:editing animated:animated];

    // populate this array with the NSIndexPath's of the rows you want to add/remove
    NSMutableArray *indexPaths = [NSMutableArray new];

    if(editing) [self.tableView deleteRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];
    else [self.tableView insertRowsAtIndexPaths:paths withRowAnimation:UITableViewRowAnimationFade];

    [indexPaths release];
}
...