【问题标题】:Resign keyboard when viewController is dismissed关闭 viewController 时退出键盘
【发布时间】:2014-09-07 10:25:13
【问题描述】:
我有一个包含文本字段的单元格。当 viewController 打开时,我通过以下代码将其指定为第一响应者:
cell.namTextField.becomeFirstResponder()
当我关闭 viewController 时,键盘会延迟隐藏,这看起来不太好。 viewController 时如何辞职?当 textField 在单元格中并且我无法在函数中访问它时?
【问题讨论】:
标签:
ios
iphone
uiviewcontroller
swift
【解决方案1】:
您可以使用self.view.endEditing(true),它将遍历视图(这里是控制器的主视图)中的所有子视图并强制(这是true 部分)当前是第一个响应者的任何视图辞职。
我想在viewWillDisappear: 中使用它是有意义的,以便在控制器被解除(或另一个控制器被按下等)之前隐藏键盘
【解决方案2】:
试试这个方法隐藏键盘:-
- (void) hideKeyboard:(BOOL)hidden
{
NSArray *arrWindows = [[UIApplication sharedApplication] windows];
if ([arrWindows count] > 1)
{
UIWindow *keyboardWindow = [arrWindows objectAtIndex:1];
[keyboardWindow setHidden:hidden];
}
}
【解决方案3】:
您可以使用以下代码行来关闭键盘。
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
此方法将关闭任何应用程序视图中存在的任何键盘