我有一个iPad应用程序,其中resignFirstResponder似乎不工作。 我已经尝试了很多解决方案。我只是从firstResponder对象的实例中调用第一响应者,但键盘仍然保留在屏幕上。我试着迭代所有的窗口来获得第一个响应者的实例,然后我从那个实例调用resignFirstResponder。resignFirstResponder不隐藏iPad中的UIkeyboard
我也尝试通过为以下方法创建UIViewController
的类别。
- (BOOL)disablesAutomaticKeyboardDismissal
{
return NO;
}
但是,这种解决方案也不适合我。这个键盘问题在所有的应用文本字段中都存在,不仅适用于某些特定的文本字段。
更新: 在应用程序的不同部分,我为此使用不同的代码。下面是代码
- (void)textFieldDidEndEditing:(UITextField *)mtextField
{
[mtextField resignFirstResponder]; this one is not required but I have just write it here.
}
- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if([string hasSuffix:@"\n"])
{
[theTextField resignFirstResponder];
return NO;
}
return YES;
}
更新:当我试图通过运行在模拟器中的应用,有时它resignFirstResponder
甚至在模拟器的工作,但不能在每次启动。
很难猜出发生了什么,却没有看到源代码。你有没有试过在视图控制器的顶层视图上调用'endEditing'? – 2012-08-01 11:31:25
我已经试过viewcontroller的视图属性endEditing。 – vikas 2012-08-01 13:03:19
如果你想让键盘退出,不应该'disablesAutomaticKeyboardDismissal'返回NO? – 2012-08-01 16:58:40