我有一个使用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;
}
当桌面视图已经处于编辑模式时,我无法弄清楚如何在右侧显示滑动手势以显示“删除”,是否有人可以指向正确的方向?
或者,如果有人知道如何让单元重新排序控件显示何时不处于编辑模式,那么这也是一个可行的解决方案
欢呼声
答案 0 :(得分:1)
当用户在给定行上滑动时,您需要在某处存储引用,以便您可以更改editingStyleForRowAtIndexPath
和shouldIndentWhileEditingRowAtIndexPath
返回的值。您最好的选择是在滑动的单元格上使用indexPathForCell
并存储它。然后在上面的两个显示方法中,您需要检查NSIndexPath
是否相同(我不确定它们是否是相同的指针,或者您是否需要比较节/行值 - 需要测试)。如果匹配,则显示删除按钮。
请注意,您可能需要在tableView上调用reloadData
才能显示效果,而无需向后滚动并返回。
答案 1 :(得分:1)
我想知道你现在的方式是否会违反人机界面指南,这会导致应用程序无法获得批准。
我看不出为什么你无法捕捉滑动手势然后用它来“取消隐藏”删除确认的红色删除(停止标志)图标?