UITextField上的UITapGestureRecognizer不再适用于IOS 7.1

Hei*_*kov 5 iphone objective-c ios uitapgesturerecognizer ios7.1

我有一个UITapGestureRecognizer附加到a UITextField得到一个"下拉"效果.当UITextField点击时,我呈现UIPopover内容.这就像7.1之前的魅力 - 现在UITextField刚刚成为第一响应者,并且完全忽略了手势识别器.尝试设置delaysTouchedBegan为YES但它没有帮助.任何帮助?

小智 16

为什么要使用UITapGestureRecognizer,更好地使用UITextFieldDelegate方法

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{

   //Do what you need to do...

}
Run Code Online (Sandbox Code Playgroud)

要么

你可以用你textViewUIView,并添加UITapGestureRecognizer上了这一观点.

  • 我只是将textview包装在另一个视图中.但需要禁用文本字段的用户交互. (2认同)
  • 当文本字段已经是第一个响应者时,将不会调用`textFieldShouldBeginEditing:`委托方法.通过实现@JuroSheridan回答的手势识别器委托,它应该在所有情况下都能正常工作. (2认同)

小智 8

为您的点击手势实现委托方法

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
   return YES;
}
Run Code Online (Sandbox Code Playgroud)

然后设置yourTapGesture.delegate = self;