我有一个 iPad 应用程序,其中 resignFirstResponder 似乎没有工作。我尝试了很多解决方案。我只是从 firstResponder 对象的实例调用 resign first responder,但键盘仍保留在屏幕上。然后我尝试通过迭代所有窗口来获取第一响应者的实例,然后我从该实例调用 resignFirstResponder。
我还尝试通过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
可以工作,但即使在模拟器中也不是每次启动。