【问题标题】:No didSelectRowAtIndexPath() in tableView when editing编辑时tableView中没有didSelectRowAtIndexPath()
【发布时间】:2015-11-23 15:27:41
【问题描述】:

我想打电话给didSelectRowAtIndexPath(),但是当我处于编辑模式时,该事件不会被触发。这是我的代码:

override func viewDidLoad() {
    tableView.delegate = self
    tableView.dataSource = self
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    self.tableView.deselectRowAtIndexPath(indexPath, animated:true)
    let data = fetchedResultsController.objectAtIndexPath(indexPath) as! NSManagedObject
...
}

@IBAction func updateButtonClicked(sender: AnyObject) {
    toggleEditing()
}

func toggleEditing() {
    if self.editing {
        super.setEditing(false, animated: true)
        self.title = "Sicherung"
    } else {
        super.setEditing(true, animated: true)
        let cancelBarButton = UIBarButtonItem(title: "Fertig", style: .Plain, target: self, action: "stopEdit:")
        navigationItem.rightBarButtonItem = cancelBarButton
        navigationItem.hidesBackButton = true
        self.title = "Sicherung bearbeiten"
    }
}

func stopEdit(sender: AnyObject) {
    super.setEditing(false, animated: true)
    let cancelBarButton = UIBarButtonItem(title: "Bearbeiten", style: .Plain, target: self, action: "toggleEditing")
    navigationItem.rightBarButtonItem = cancelBarButton
    navigationItem.hidesBackButton = false
}

didSelectRowAtIndexPath() 仅在 self.editing == false 时被调用。

我做错了什么?

【问题讨论】:

  • From the docs: "当表格的编辑属性设置为YES(即表格视图处于编辑模式)时,不会调用此方法"
  • upps,不要看到这个!有什么解决方法吗?

标签: ios xcode swift uitableview didselectrowatindexpath


【解决方案1】:

AFAICS,您的问题是,在您的表格视图中,allowsSelectionDuringEditing 设置为 NO(或 false,如果您使用的是 Swift)。

【讨论】:

  • Arthur Gevorkyan,就是这样!很多 THX!
  • 那么,显然文档已经过时了。很好的发现:)
猜你喜欢
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多