【问题标题】:ios UITableView delete/re-arrange editing mode but not show delete iconios UITableView删除/重新排列编辑模式但不显示删除图标
【发布时间】:2013-05-25 19:15:27
【问题描述】:

我在编辑模式下创建了一个UITableView,我强制它在包含此表视图的视图控制器的 viewDidLoad 函数上运行到编辑模式。一切都很好,表格的每一行左侧都有一个删除图标,右侧有re-arrange 图标。我实现了

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

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

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

我想这样做的原因是我不鼓励用户删除行产品。我知道我可以放置一个编辑按钮,当用户单击此按钮时,我会进入编辑模式,但我不想这样做,我想在用户进入我的视图控制器时在开始时显示一个重新排列功能.

我可以这样做吗?

让我放一些屏幕截图

第一张图片是我得到的。

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

【问题讨论】:

  • 你能添加一些屏幕截图吗?
  • 尝试将editingStyleForRowAtIndexPath改为UITableViewCellEditingStyleNone?
  • @verbumdei Thks,我试过了,但用户无法滑动删除,用户滑动时没有任何反应
  • @Khawar Thks,让我拍一些屏幕截图。 :)
  • 当表格处于编辑模式时,可能无法隐藏删除图标但仍启用删除。但是当表格视图不处于编辑模式时,您仍然可以启用滑动删除。 stackoverflow.com/questions/3309484/…

标签: iphone ios ipad uitableview


【解决方案1】:

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

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

将编辑样式设置为无:

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

这表明当表格视图处于编辑模式时,行不应缩进

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

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

【讨论】:

  • 谢谢,我正在考虑为 uitableview 自定义手势识别器。我只是不知道 table 的任何内置属性是否允许我简单地做到这一点。 :) 也许我必须按照我的要求这样做
猜你喜欢
  • 2017-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多