HeineSkov
HeineSkov

Reputation: 449

UITapGestureRecognizer on UITextField no longer works in IOS 7.1

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?

Upvotes: 5

Views: 7148

Answers (3)

Juno Sheridan
Juno Sheridan

Reputation: 81

Implement the delegate method for your tap gesture

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

Then set yourTapGesture.delegate = self;

Upvotes: 8

Himanshu Joshi
Himanshu Joshi

Reputation: 3399

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.

Upvotes: 16

graver
graver

Reputation: 15213

Implement the delegate method of the UITextField:

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

      return NO;
}

Upvotes: 2

Related Questions