我有一个包含textField的单元格。当viewController打开时,我已通过以下代码将其指定为第一个响应者:
cell.namTextField.becomeFirstResponder()
当我解除viewController时,键盘隐藏了延迟,这看起来不太好。我怎样才能在viewController时resignTheFirstResponder?当textField在单元格中时我无法在函数中访问它?
答案 0 :(得分:8)
您可以使用self.view.endEditing(true)
,它将遍历视图中的所有子视图(此处为控制器的主视图)和强制(这是true
部分)当前任何视图第一个辞职的回应者。
我想在viewWillDisappear:
内使用它是有意义的,以便在控制器被解除之前隐藏键盘(或者推送另一个键盘等)
答案 1 :(得分:1)
您可以使用以下代码行来关闭键盘。
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
此方法将关闭任何应用程序视图中存在的任何键盘
答案 2 :(得分:1)
尝试使用此方法隐藏键盘: -
- (void) hideKeyboard:(BOOL)hidden
{
NSArray *arrWindows = [[UIApplication sharedApplication] windows];
if ([arrWindows count] > 1)
{
UIWindow *keyboardWindow = [arrWindows objectAtIndex:1];
[keyboardWindow setHidden:hidden];
}
}