2011-06-16 26 views
14

我有一个自定义确认警报对话框的顶部的一些细胞的常规细胞删除确认,这是对这些细胞进行双重确认。 (这是用户进入编辑模式后,而不是通过刷卡)因此,如果用户点击'确定'在我的自定义确认对话框中确认。它应该执行实际的删除操作,因为整个单元格将从TableView中删除,所以表现良好。但是,如果用户单击“取消”,单元格不会被删除,它将保留在表格中并保留在“取消确认模式”中。这不是我想要的,我希望它恢复到“正常单元格编辑模式”。我已经通过苹果文档进行了搜索,它只提供了“只显示删除确认”(readDeleteConfirmation)只读方法。回复此模式返回到单元格编辑,我可以做到这一点,以破解它。在UITableViewCell中,如何将删除确认模式恢复为正常编辑模式?

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

我不能启用动画这里,因为它会看起来很糟糕它做临时工再回到非编辑模式下编辑模式。但是没有它,动画过渡并不是很顺利。有没有清洁方式可以做到这一点?

回答

0

我不是很理解你的问题,但你的意思是设置table.editing = NO ;?

7

假设你是否正存储所显示删除确认该小区的indexPath,你可以这样做:

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

    // Do other stuff 

} 

细胞将恢复删除确认用的动画渐变。

+0

太棒了!这是我找不到任何地方的解释! – Martin 2014-12-03 17:33:38

11

为别人还在找这个,这确实为单细胞顺利,相反过渡:

[tableView setEditing:FALSE animated:TRUE]; 
相关问题