iPad popover textfield - resignFirstResponder不会关闭键盘

mos*_*dev 15 iphone ipad uipopovercontroller

我有两个文本字段的电子邮件和密码.当在常规视图上显示字段时,以下代码可以正常工作,但是当它们在弹出窗口上时,resignFirstResponder不起作用(becomeFirstResponder工作).两个字段都调用了textFieldsShouldReturn.如果我遗失了什么,不知道吗?谢谢!

  - (BOOL)textFieldShouldReturn:(UITextField *)theTextField {

     if (theTextField == email) {
         [password becomeFirstResponder];
         return NO;
     }

     [theTextField resignFirstResponder];
     return NO;
}
Run Code Online (Sandbox Code Playgroud)

asl*_*nci 17

检查这个问题:

覆盖如下disablesAutomaticKeyboardDismissal返回NO修复了我的同样问题.您应该将此代码放入视图控制器,从中启动键盘:

- (BOOL)disablesAutomaticKeyboardDismissal {
    return NO;
}
Run Code Online (Sandbox Code Playgroud)


jv4*_*v42 1

我对此不太确定,但是,据我了解响应者层次结构,只有当您有其他响应者需要回答时,辞职才有效。

在常规的观点中,观点本身是愿意的。在弹出窗口中,也许您需要对弹出窗口类执行一些操作(例如重新实现一些 Responder 方法)才能使其正常工作。