当用户没有完全滑动以删除表格视图单元格时,如何禁用/启用编辑按钮?
Posted
技术标签:
【中文标题】当用户没有完全滑动以删除表格视图单元格时,如何禁用/启用编辑按钮?【英文标题】:How do i disable/enable edit button when user doesn't fully swipe to delete table view cell? 【发布时间】:2014-11-11 16:24:52 【问题描述】:我有一个 tableView,它允许通过滑动单元格或通过“编辑”按钮进入编辑模式来删除。问题是,我不确定如何正确启用/禁用编辑模式;它应该在用户开始滑动一行后立即禁用,并在“取消滑动”一行后启用。
目前,我在editingStyleForRowAtIndexPath(返回删除)中禁用并在didEndEditingRowAtIndexPath 中启用。
问题是,如果用户没有完成滑动怎么办?例如,他们开始滑动一行,但在完全滑动之前松开(导致该行弹回并隐藏删除按钮)。在这种情况下,不会调用 didEndEditingRowAtIndexPath。如何确保半滑动后表格可编辑?
【问题讨论】:
【参考方案1】:这是另一种可以正常工作的方法,(退出或评论:editingStyleForRowAtIndexPath 和 didEndEditingRowAtIndexPath。)。你必须只实现这个:
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
if (editingStyle == UITableViewCellEditingStyleDelete)
// Configure delete action:
// First remove the delete data from you data source.
Put here you code, like this:
[self.theMutableArrayWithDataSourde removeObjectAtIndex:indexPath.row];
// Second remove the cell:
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
【讨论】:
以上是关于当用户没有完全滑动以删除表格视图单元格时,如何禁用/启用编辑按钮?的主要内容,如果未能解决你的问题,请参考以下文章