В UITableViewCell, как я могу вернуть режим подтверждения удаления обратно в нормальный режим редактирования? - PullRequest
14 голосов
/ 16 июня 2011

У меня есть пользовательское диалоговое окно с предупреждением о подтверждении поверх обычного подтверждения удаления ячеек для некоторых ячеек, это своего рода двойное подтверждение для этих ячеек. (Это происходит после того, как пользователь входит в режим редактирования, а не проведением по экрану). Итак, если пользователь нажимает «ОК» для подтверждения в моем диалоговом окне подтверждения. Предполагается, что он выполняет фактическое удаление, которое ведет себя хорошо, поскольку вся ячейка будет удалена из TableView. Однако, если пользователь нажимает кнопку «Отмена», ячейка не удаляется, она остается в таблице и остается в «режиме подтверждения отмены». Это не то, что я хочу, я хочу вернуть его обратно в «Нормальный режим редактирования ячеек». Я искал документацию Apple, он только предоставляет метод «showDeleteConfirmation» только для чтения. У него нет способа Вернуть этот режим обратно к редактированию ячейки. Я могу сделать это, чтобы взломать его:

        [cell setEditing:NO animated:NO];
        [cell setEditing:YES animated:NO];

Я не могу включить анимацию здесь, потому что она будет выглядеть плохо, заманчиво снова вернуться в режим без редактирования в режим редактирования. Но анимационный переход не совсем плавный без него. ЕСТЬ ЛИ ЧИСТЫЙ СПОСОБ ДЕЛАТЬ ЭТО?

Ответы [ 3 ]

12 голосов
/ 25 октября 2014

для всех, кто еще ищет это, это делает плавный, противоположный переход для отдельной ячейки:

[tableView setEditing:FALSE animated:TRUE];
7 голосов
/ 27 марта 2013

Предполагая, что вы сохраняете indexPath для ячейки, в которой отображается подтверждение удаления, вы можете сделать это:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == [alertView cancelButtonIndex]) {
        [self.tableView reloadRowsAtIndexPaths:@[self.indexPathToDelete] withRowAnimation:UITableViewRowAnimationAutomatic];
    }

    // Do other stuff

}

Ячейка вернет подтверждение удаления с анимацией исчезновения.

0 голосов
/ 29 июля 2011

Я не совсем понимаю ваш вопрос, но вы имеете в виду установить table.editing = NO;?

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