我在编辑模式下创建了一个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时在开头显示重新排列功能
我可以这样做吗。
让我放一些屏幕截图
第一张照片是我得到的。
第二张图片是我真正想要展示的。当用户滑动时,我想显示一个删除按钮,覆盖右侧的排列图标
答案 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
添加滑动手势。