2016-11-28 27 views
0

在我viewDidLoad FUNC,我按照实施UITapGestureRecognizer的步骤,但它不会注册一个“单一的水龙头”,只有2或3:UITapGestureRecognizer仅注册> 1个抽头

let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction)) 
gestureRecognizer.numberOfTapsRequired = 3 
myView.addGestureRecognizer(gestureRecognizer) 

我有尝试将其应用于更高层次的不同视图,但同样确切的问题仍然存在。当它被设置为3次敲击时,我必须敲击3次才能使其工作(所以,我排除了最初敲击是由另一个视图拍摄的)。

任何想法,为什么我不能只注册一个水龙头?

谢谢!

+0

你有任何其他'UITapGestureRecognizer附加到该视图或任何父母?他们设置了多少个水龙头? –

+0

@AlecGorge不,我不知道。只有一个。我已经设置了2和3个水龙头,这两个工作。当我将它设置为= 1时,由于某种原因它没有注册......尽管我已将它应用于.. – PlateReverb

+1

,如果您删除了设置'numberOfTapsRequired'的整行,它是否工作?我无法想象它有什么不同,因为默认值为1,但每当我寻找一个水龙头时,我都没有设置任何东西。只是为了排除 –

回答

0

好的...所以我的问题的解决方案很简单。我只是在我尝试收集“点击”数据的区域的顶层添加了一个透明视图。我读到这需要一个“超级视图”来从具有多个按钮对象的区域收集坐标数据,并且我认为这意味着一个包含所有按钮的视图,但这是不正确的。超级视图需要在我想要收集坐标数据的所有对象“前面”,现在只需单击一次即可!