ios UITableView删除/重新排列编辑模式但不显示删除图标

时间:2013-05-30 09:22:29

标签: iphone ios ipad uitableview

我在编辑模式下创建了一个UITableView,我强制它在包含此tableview的viewcontroller的viewDidLoad函数上运行到编辑模式。一切都很好,左边的每一行都有一个删除图标,右边是re-arrange图标。我实施了

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath 
{
       return UITableViewCellEditingStyleDelete;
}

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{
     return YES;
}

问题出在每一行我不想在左边显示红色删除图标,只是在右边显示重新排列图标。当用户想要删除时,他/她可以滑动一行进行删除。

我想这样做的原因是我不鼓励用户删除行产品。我明白我可以放一个编辑按钮,当用户点击这个按钮时,我会进入编辑模式,但我不想这样做,我想在用户进入我的viewcontroller时在开头显示重新排列功能

我可以这样做吗。

让我放一些屏幕截图

This is what I got

This is what I want to show. When user swipe I want to show a Delete button overlay the arrange icon on the right

第一张照片是我得到的。

第二张图片是我真正想要展示的。当用户滑动时,我想显示一个删除按钮,覆盖右侧的排列图标

1 个答案:

答案 0 :(得分:9)

我不认为你可以在tableview处于编辑模式时使用滑动删除,而是可以添加UISwipeGesture并实现自己的自定义按钮。

如果您正在使用手势,那么您需要实现以下UITableView的委托方法。

将编辑样式设置为无:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
     return UITableViewCellEditingStyleNone; 
}

这表示在表视图处于编辑模式时不应缩进行

- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}

您可以参考this链接了解如何向UITableView添加滑动手势。