【问题标题】:UIViewController's editButtonItem not changing with swipe to deleteUIViewController 的 editButtonItem 不会随着滑动删除而改变
【发布时间】:2011-11-01 17:20:33
【问题描述】:

我使用UIViewControllereditButtonItem 来控制表格视图的编辑模式。

问题在于,在大多数应用程序中,当您滑动一行以删除元素时,该编辑按钮会变为“完成”状态。这样用户就可以点击“完成”来停止删除元素。

完成按钮滑动即可删除情况

在我的应用中没有这样做

我想我可以更改tableview:editingStyleForRowAtIndexPath: 中编辑按钮的标题和样式,但UIViewControllereditButtonItem 的重点不是自动吗?

谢谢。

【问题讨论】:

  • 当表格视图进入编辑模式时,完成按钮会改变它的状态。您是否尝试按下编辑按钮?那么按钮会改变吗?
  • @dasdom 是的,它确实会更改为完整编辑。我在问我何时编辑一行。

标签: iphone cocoa-touch uitableview uiviewcontroller editing


【解决方案1】:

实现这两个委托方法为我解决了这个问题。 将视图控制器的 .editing 属性设置为 YES 并返回 NO。

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = YES;
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.editing = NO;
}

【讨论】:

  • 太棒了!完全正确!我用setEditing:animated:animated = YES,感觉更好。
【解决方案2】:

仅当UIViewController.editing 属性为YES 时才会自动执行。当您只编辑一行时,视图控制器本身并不处于编辑模式,因此它不会更改按钮。

【讨论】:

  • 我明白了,但为什么这似乎是其他应用程序中的一个标准,即使编辑单行也要更改为完成?
  • 不知道。至少通过这种方式,它为您提供了选择 - 编辑单行时,完成按钮有点多余,因为点击屏幕上的其他任何地方都会取消滑动删除。
  • 我的观点更多的是,你在滑动删除后仍然可以点击编辑按钮,这没有任何意义。
猜你喜欢
  • 2022-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 2019-01-21
  • 1970-01-01
相关资源
最近更新 更多