我有一个视图,其中包含各种类型的子视图。有一次,我想禁用与视图和子视图的所有交互,而是从放置在整个视图上的手势识别器中注册点击:

tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:revealController action:@selectorrdoSomething:)];
tapGestureRecognizer.cancelsTouchesInView = YES;


尽管可以正常工作,但下面的视图仍然可以与所有触摸互动。然后,我尝试添加:

tapGestureRecognizer.delaysTouchesBegan = YES;
tapGestureRecognizer.delaysTouchesEnded  = YES;


现在它可以正常工作-当我点击UITextField时,它将接收手势识别器的触摸INSTEAD。为什么会这样,我该如何停止呢?任何帮助深表感谢 :)

最佳答案

听起来您想要做的就是将您不想接收的触摸设置为.userInteractionEnabled属性。或者我误会了一些东西。

yourView.userInteractionEnabled = FALSE;

关于iphone - UITextField停止UIGestureRecognizer工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10993881/

10-10 20:57