IQKeyboardManager 多次调用textFieldShouldBeginEditing

在集成了IQKeyboard之后,就会有一个问题,当一个页面有多个textField之后,点击任意一个textfield,IQKeyboard都会强制执行textFieldShouldBeginEditing这个代理方法,而且是多次执行,执行的次数取决于你有多少个textfield添加了delegate。所以就会出现一个很尴尬的情况:
我第二个textfield有一个点击事件,添加代理,放在代理方法内判断执行,但是第一个textfield并没有添加代理,当我点击第一个textfield的时候,就会强制执行shouldBegin这个方法,方法的参数是添加带来的第二个textfield

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
      if (textField == myTextField1) {
           if (textField.isAskingCanBecomeFirstResponder == NO) {
                NSLog(@"do something...");
           }
           return NO;
      }else if (textField == myTextField2) {
           if (textField.isAskingCanBecomeFirstResponder == NO) {
                 NSLog(@"do another something...");
           }
           return NO;
      }else {
          return YES;
      }
 }

你可能感兴趣的:(IQKeyboardManager 多次调用textFieldShouldBeginEditing)