0

我已经检查过其他类似的问题,但没有一个能解决我的问题。我有一个基于窗口的应用程序,并且在同一个 .xib 文件中使用了更多窗口。在第一个窗口中,我有一些文本字段,我可以隐藏点击“完成”按钮的键盘。在第二个窗口中,我有一个文本视图,并且在这里通过点击“完成”,键盘被关闭。问题是:如果我在没有关闭键盘的情况下离开第一个视图并转到第二个视图,则键盘没有响应。我无法关闭它,并且按钮不再起作用。我的错在哪里?我可以解决这个问题吗?

我希望你能帮助我。非常感谢。

4

2 回答 2

1

使用通知设计方法来关闭当前:

创建通知并将其包含在您的取消方法或切换到另一个视图的方法中:

NSNotification *dismissKeyboard = [NSNotification notificationWithName:@"dismissKeyboard" object:nil];
[[NSNotificationCenter defaultCenter] postNotification:dismissKeyboard];

在您的第二个视图中,在 viewDidLoad 中添加一个通知侦听器:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(methodToExecute) name:@"dismissKeyboard" object:nil];

添加发送通知时要执行的方法:

-(void)methodToExecute {
    [self.textfield resignFirstResponder];
}
于 2013-05-07T23:10:44.520 回答
0

在更改视图之前,您只需简单地 resignFirstResponder 即可。取消您的第二个 UIWindow 并仅使用一个 UIWindow 来换出视图。通常您使用 2 个 viewController 并在它们之间进行更改,但如果您真的需要,您也可以在 UIWindow 上使用 2 个不同的 UIView。

于 2013-05-07T20:51:55.447 回答