【发布时间】:2016-02-11 02:05:53
【问题描述】:
我的 ViewController 符合 UIGestureRecognizerDelegate。
我在这个 ViewController 中创建了各种视图。一个名为 circleView 的自定义视图和一个名为 testView 的常规 UIView。
我有以下从 viewDidLoad 调用的函数
func addTapGesturesOnNumberPadDisplay() {
if tapGestureRecognizerNumberPadView == nil {
tapGestureRecognizerNumberPadView = UITapGestureRecognizer(target: self, action: "handleTap:")
tapGestureRecognizerNumberPadView!.delegate = self
//self.circleView!.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 1
//self.testView!.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 2
self.view.addGestureRecognizer(tapGestureRecognizerNumberPadView!) // 3
}
}
此代码有效,第 3 行处于活动状态。我的func handleTap(sender: UITapGestureRecognizer) { 被触发。但是,如果我注释掉第 3 行,并使第 1 行或第 2 行处于活动状态...handleTap: 永远不会被击中。
这是为什么?
【问题讨论】:
标签: objective-c swift cocoa-touch uitapgesturerecognizer