在我们的应用中,有一种情况是用户在文本框中输入内容,然后按下返回按钮返回主屏幕。
如果我们在 iOS 7 上运行它,键盘不会消失,它只是停留在那里。用户仍然可以在应用程序中导航,但所有文本字段都被禁用,这意味着您无法在任何地方输入文本。用户唯一的选择是终止应用程序并重新开始。
我们尝试添加 resignFirstResponder
消息,但这没有任何帮助。
涉及的代码很多,我们正在积极处理这个问题。同时,有没有人也遇到过这个问题,也许找到了解决它的方法?
最佳答案
我在为 iOS 7 编译应用程序时遇到了和你一样的问题,我做了以下更改:
确保在关闭 viewController 之前添加
[textfield resignFirstResponder]
例如:[_passwordInput resignFirstResponder]; [_emailInput resignFirstResponder]; [self performSegueWithIdentifier:@"forgotPassword" sender:self];
为了确保键盘消失,在
viewWillDisappear
中添加[textfield resignFirstResponder]
例如:- (void) viewWillDisappear:(BOOL)animated { [_passwordInput resignFirstResponder]; [_emailInput resignFirstResponder]; }
如果您的 viewController 是使用
UIModalPresentationFormSheet
呈现的,请将此添加到您的 viewController 以确保文本字段将响应resignFirstResponder
:- (BOOL)disablesAutomaticKeyboardDismissal { return NO; }
在您的情况下,覆盖后退按钮操作或仅使用 viewWillDisappear
检查用户何时按下后退按钮,然后在 [super viewWillDisappear ]
像这样:
-(void) viewWillDisappear:(BOOL)animated
{
[_passwordInput resignFirstResponder];
[_emailInput resignFirstResponder];
[super viewWillDisappear:animated];
}
关于ios - iOS 7 上的 viewDidDisappear 后键盘不会消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18892685/