我有一个使用uitableview的iphone应用程序,希望始终显示“重新排序”控件,并让用户滑动以删除行。
我目前采用的方法是将TableView置于编辑模式,并允许在编辑模式下进行选择
self.tableView.editing = YES;
self.tableView.allowsSelectionDuringEditing = YES;
然后,我使用隐藏了红色的删除圈子
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleNone;
}
- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
当表格 View 已经处于编辑模式时,我无法弄清楚如何获得滑动手势以在右侧显示“删除”,有人可以将我指向正确的方向吗?
或者,如果有人知道如何使单元格重新排序控件在未处于编辑模式时显示,那也将是一个可行的解决方案
干杯
最佳答案
当用户在给定行上滑动时,您需要将引用存储在某处,以便可以更改editingStyleForRowAtIndexPath
和shouldIndentWhileEditingRowAtIndexPath
返回的值。最好的选择是在刷过的单元格上使用indexPathForCell
并将其存储。然后在上面的两种显示方法中,您需要检查NSIndexPath
是否相同(我不确定它们是否是相同的指针,或者是否需要比较段/行的值-需要进行测试)。如果它们匹配,则显示删除按钮。
请注意,您可能需要在tableView上调用reloadData
,以使效果出现而无需滚动并再次返回。
关于objective-c - 处于编辑模式时轻扫以删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1371185/