Ios 未在UI按钮上调用ToucheShouldCancelInContentView

Ios 未在UI按钮上调用ToucheShouldCancelInContentView,ios,swift,uitableview,storyboard,Ios,Swift,Uitableview,Storyboard,我正在使用UITableViewController进行一个新的Swift项目。我的问题是,单元格中的按钮会延迟响应,这是一个常见的问题。我以前在一个较旧的项目中通过对tableView进行子类化并覆盖ToucheShouldCancelIncontentView处理过这个问题 这一次似乎不起作用。我在情节提要中检查了canCancelContentTouched和UncheckedDelaysContentTouches,但为了确保这一点,我在代码中也做了检查。我添加了一些指纹来了解发生了什么

我正在使用UITableViewController进行一个新的Swift项目。我的问题是,单元格中的按钮会延迟响应,这是一个常见的问题。我以前在一个较旧的项目中通过对tableView进行子类化并覆盖ToucheShouldCancelIncontentView处理过这个问题

这一次似乎不起作用。我在情节提要中检查了canCancelContentTouched和UncheckedDelaysContentTouches,但为了确保这一点,我在代码中也做了检查。我添加了一些指纹来了解发生了什么。当我触摸一个按钮(短或长)时,控制台中没有任何东西。按钮的动作会被触发。触摸按钮外部显示触摸开始和触摸结束

import UIKit
class MyTableView: UITableView {

    required init(coder aDecoder: NSCoder) {
        print("initTV")
        super.init(coder: aDecoder)
        self.delaysContentTouches = false
        self.canCancelContentTouches = true
    }

    override func touchesShouldCancelInContentView(view: UIView!) -> Bool {
        print(view)
        if view.isKindOfClass(UIButton) {
            return true
        }
        return super.touchesShouldCancelInContentView(view)
    }

    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        print("touchesBegan")
    }

    override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
        print("touchesEnded")
    }
}
有没有人在斯威夫特的故事板上尝试过这个