我有一个包含各种类型子视图的视图。有一次,我想禁用与视图和子视图的所有交互,并注册来自我放在整个视图上的手势识别器的点击:
tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:revealController action:@selectorrdoSomething:)];
tapGestureRecognizer.cancelsTouchesInView = YES;
虽然它有点奏效,但下面的视图仍会与所有触摸相互作用。然后我尝试添加:
tapGestureRecognizer.delaysTouchesBegan = YES;
tapGestureRecognizer.delaysTouchesEnded = YES;
它现在可以工作了 - 当我点击UITextField时,它会接收到手势识别器的触摸INSTEAD。为什么这样,我怎么能阻止它?非常感谢任何帮助:)
答案 0 :(得分:2)
听起来您想要做的是将您不希望接收触摸.userInteractionEnabled
属性的视图设置为FALSE
。或者我误解了一些事情。
yourView.userInteractionEnabled = FALSE;