在集成了IQKeyboard之后,就會(huì)有一個(gè)問題痒给,當(dāng)一個(gè)頁面有多個(gè)textField之后贪薪,點(diǎn)擊任意一個(gè)textfield,IQKeyboard都會(huì)強(qiáng)制執(zhí)行textFieldShouldBeginEditing這個(gè)代理方法胖笛,而且是多次執(zhí)行网持,執(zhí)行的次數(shù)取決于你有多少個(gè)textfield添加了delegate。所以就會(huì)出現(xiàn)一個(gè)很尷尬的情況:
我第二個(gè)textfield有一個(gè)點(diǎn)擊事件长踊,添加代理功舀,放在代理方法內(nèi)判斷執(zhí)行,但是第一個(gè)textfield并沒有添加代理身弊,當(dāng)我點(diǎn)擊第一個(gè)textfield的時(shí)候辟汰,就會(huì)強(qiáng)制執(zhí)行shouldBegin這個(gè)方法,方法的參數(shù)是添加帶來的第二個(gè)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;
}
}