UITapGestureRecognizer on UITextField no longer wo

2019-05-01 18:22发布

问题:

I have a UITapGestureRecognizer attached to a UITextField to get a "drop down" like effect. When the UITextField is tapped, I present a UIPopover with the content. This worked like a charm pre 7.1 - Now the UITextField just becomes first responder, and the gesturerecognizer is totally ignored. Tried setting delaysTouchedBegan to YES but it didn't help.Any help?

回答1:

Why to use UITapGestureRecognizer, better to use UITextFieldDelegate methods

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

   //Do what you need to do...

}

OR

You can wrap up your textView in a UIView and add the UITapGestureRecognizer on that view.



回答2:

Implement the delegate method for your tap gesture

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
   return YES;
}

Then set yourTapGesture.delegate = self;



回答3:

Implement the delegate method of the UITextField:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
      // Show popover here

      return NO;
}