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

Sco*_*ran 5 iphone uitableview ipad ios

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

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

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath 
{
     return YES;
}
Run Code Online (Sandbox Code Playgroud)

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

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

我可以这样做吗

让我拍一些屏幕截图

这就是我得到的

这就是我想要展示的内容. 当用户滑动时,我想显示一个删除按钮,覆盖右侧的排列图标

第一张图是我得到的.

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

Pra*_*iga 9

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

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

将编辑样式设置为none:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
     return UITableViewCellEditingStyleNone; 
}
Run Code Online (Sandbox Code Playgroud)

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

- (BOOL)tableView:(UITableView *)tableview shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

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