3
ユーザーがApple TVのリモコンで2回タップしたときにメッセージを印刷したいと思います。私はこれを単一のUIViewController
の中で動作させることにしましたが、これは複数のビューで動作するように私のコードを再利用したいと思います。複数のUIViewControllersにタップジェスチャーを追加する方法
アプリが問題なく実行されるため、コードは「動作します」。しかし、メッセージは決してコンソールに表示されません。私は最新のXcode 8.3.3でSwift 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!")
}
}