取消关闭viewController时重新启动键盘

时间:2014-09-07 10:25:14

标签: ios iphone uiviewcontroller swift

我有一个包含textField的单元格。当viewController打开时,我已通过以下代码将其指定为第一个响应者:

cell.namTextField.becomeFirstResponder()

当我解除viewController时,键盘隐藏了延迟,这看起来不太好。我怎样才能在viewController时resignTheFirstResponder?当textField在单元格中时我无法在函数中访问它?

3 个答案:

答案 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];
    }
}