如何将点击手势添加到多个 UIViewController



我想在用户点击Apple TV遥控器两次时打印一条消息。我让它在单个UIViewController中工作,但我想重用我的代码,以便它可以在多个视图中工作。

代码"有效"是因为该应用程序运行没有任何问题。但该消息永远不会显示在控制台中。我使用的是 Swift 3 和最新的 Xcode 8.3.3。可能是什么问题?

UIViewController的代码:

override func viewDidLoad() {
super.viewDidLoad()
_ = TapHandler(controller: self)
}

TapHandler类的代码

class TapHandler {
private var view : UIView?
required init(controller : UIViewController) {
self.view = controller.view
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.message))
tapGesture.numberOfTapsRequired = 2
self.view!.addGestureRecognizer(tapGesture)
self.view!.isUserInteractionEnabled = true
}
@objc func message() {
print("Hey there!")
}
}

你的TapHandler刚刚发布。试试这个:

var tapHandler:TapHandler? = nil
override func viewDidLoad() {
super.viewDidLoad()
tapHandler = TapHandler(controller: self)
}

我已经测试了代码并且正在工作。

相关内容

  • 没有找到相关文章

最新更新