【问题标题】:In UITableViewCell how can I revert the delete confirmation mode back to normal editing mode?在 UITableViewCell 如何将删除确认模式恢复为正常编辑模式?
【发布时间】:2011-06-16 16:45:25
【问题描述】:

我在某些单元格的常规单元格删除确认顶部有一个自定义确认警报对话框,它有点对这些单元格进行双重确认。 (这是在用户进入编辑模式后,而不是通过滑动)因此,如果用户在我的自定义确认对话框中单击“确定”进行确认。它应该进行实际的删除,因为整个单元格将从 TableView 中删除,因此表现良好。但是,如果用户单击“取消”,则单元格不会被删除,它会保留在表格中并保持“取消确认模式”。这不是我想要的,我希望它恢复到“普通单元格编辑模式”。我搜索了苹果文档,它只提供了一个“showingDeleteConfirmation”只读方法。它真的没有办法将此模式恢复为单元格编辑。我可以这样做来破解它:

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

我无法在此处启用动画,因为它看起来很糟糕,很容易回到非编辑模式再次进入编辑模式。但是没有它动画过渡不是很流畅。有没有更清洁的方法来做到这一点?

【问题讨论】:

    标签: iphone uitableview


    【解决方案1】:

    对于仍在寻找此功能的其他人,这会为单个单元格进行平滑、相反的过渡:

    [tableView setEditing:FALSE animated:TRUE];
    

    【讨论】:

      【解决方案2】:

      假设您正在存储显示删除确认的单元格的 indexPath,您可以这样做:

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

      单元格将通过淡入淡出动画恢复删除确认。

      【讨论】:

      • 太棒了!这就是我在任何地方都找不到的解释!
      【解决方案3】:

      我不太明白你的问题,但你的意思是设置 table.editing=NO;?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-10
        • 1970-01-01
        • 2012-05-30
        • 1970-01-01
        • 2014-01-18
        相关资源
        最近更新 更多