swift - 将表格 View 设置为编辑模式

标签 swift uitableview uiviewcontroller

我在 UIViewController 中有一个 UITableView 并且从代码而不是 IB 添加了一个编辑按钮。这带有 UITableViewControllers 但不是 UIVC。如何获得此按钮以快速将表格 View 置于编辑模式?在此先感谢您的帮助。

class WordsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate  {
  override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.rightBarButtonItem = self.editButtonItem()
  }

  func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
        return true
  }
}

最佳答案

这是Swift 4.2的解决方案:

override func viewDidLoad() {
  super.viewDidLoad()

  // Use the edit button provided by the view controller.
  navigationItem.rightBarButtonItem = editButtonItem
}

override func setEditing(_ editing: Bool, animated: Bool) {
    // Takes care of toggling the button's title.
    super.setEditing(editing, animated: true)

    // Toggle table view editing.
    tableView.setEditing(editing, animated: true)
}

editButtonItem 被按下时,默认调用 View Controller 的 setEditing。默认情况下,按下按钮会在“编辑”和“完成”之间切换其标题,因此调用 super.setEditing 会为我们处理这个问题,我们使用 tableView' s setEditing 方法来切换 TableView 的编辑状态。

来源:

关于swift - 将表格 View 设置为编辑模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34157800/

相关文章:

ios - 在不延迟 UIViewController segue 的情况下运行 CPU 密集型代码?如何在 UIViewController 出现后*仅执行一次代码?

swift - 如何使用 swift 处理 JSON 中丢失的对象?

swift - 枚举案例可以包含类列表吗?

ios - 在为 iOS 开发时,如果我们不想子类化 View Controller 类,可以将它们标记为 Final 吗?

swift - 表格 View 卡住了很多

ios - 从可重复使用的单元中删除旧数据

ios - 自定义 TableviewCell 中的按钮不接受该操作。当我点击重试按钮时,它会抛出 exc_bad_access 信号。

ios - 如何在 SKScene 中呈现 UIViewController?

ios - 无法在 UINavigationController 上设置后退按钮

ios - 无法从 IPv6 连接到 IPv4 错误域=NSURLErrorDomain 代码=-1003“找不到具有指定主机名的服务器