【问题标题】:UITextField stops UIGestureRecognizer from workingUITextField 停止 UIGestureRecognizer 工作
【发布时间】:2012-06-12 09:29:46
【问题描述】:

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

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

虽然它有点工作,但下面的视图仍然与所有触摸交互。然后我尝试添加:

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

它现在可以工作,除了 - 当我点击 UITextField 时,它会接收手势识别器的触摸 INSTEAD。这是为什么,我该如何阻止它?非常感谢任何帮助:)

【问题讨论】:

  • 不知道为什么这被否决了......如果你能解释你为什么投反对票,那将不胜感激。这不是一个愚蠢的问题,虽然到目前为止唯一的答案很接近,但它也禁用了该视图上的手势识别器,如评论所述。也不确定为什么该答案没有正确解决问题时会被赞成(但谢谢,这是个好主意)。

标签: iphone objective-c ios ipad


【解决方案1】:

听起来您想要做的是将您不希望接收触摸的视图设置为.userInteractionEnabled 属性为FALSE。或者我误解了什么。

yourView.userInteractionEnabled = FALSE;

【讨论】:

  • 如果我这样做,手势识别器将无法工作。不过谢谢,但我试过了:)
猜你喜欢
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-02
  • 2012-06-14
  • 2019-02-07
  • 2018-07-18
相关资源
最近更新 更多