ios - 编辑时tableView中没有didSelectRowAtIndexPath()

标签 ios xcode swift uitableview didselectrowatindexpath

我想调用 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时调用。

我做错了什么?

最佳答案

AFAICS,您的问题是,在 TableView 上,allowsSelectionDuringEditing 设置为 NO(或 false,如果您使用 swift )。

关于ios - 编辑时tableView中没有didSelectRowAtIndexPath(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56821218/

相关文章:

objective-c - 越狱ios中的USB检测

ios - ld : framework not found AFNetworking

ios - Sprite Kit 高效的随机节点生成

ios - @EnvironmentObject 可以与不是 View 的普通结构一起使用吗?

iphone - localnotification 不显示为弹出窗口

ios - FBSDKAppInviteDialogDelegate 的 Swift 实现不起作用

ios - 使用一个 UIAlertController 处理多个错误

ios - 崩溃报告 EXC_CRASH (SIGABRT)

ios - 谷歌地图热图颜色按平均重量

objective-c - 对 <UISplitViewController : 0x133630> 的开始/结束外观转换的不平衡调用