我已经检查了其他类似的问题,但没有一个能解决我的问题。 我有一个基于窗口的应用程序,我在相同的.xib文件中使用更多的窗口。在第一个窗口中,我有一些文本字段,我可以隐藏键盘点击“完成”按钮。在第二个窗口中,我有一个文本视图,此处通过点击“完成”键盘被解除。 问题是:如果我离开第一个视图而没有关闭键盘而我转到第二个视图,键盘没有响应。我无法关闭它,按钮不再工作。哪里是我的错?我可以解决这个问题吗?
我希望你能帮助我。非常感谢你。
答案 0 :(得分: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];
}
答案 1 :(得分:0)
您需要在更改视图之前简单地使用resignFirstResponder。取消第二个UIWindow并仅使用一个UIWindow来交换视图。通常你使用2个viewControllers并在它们之间进行更改,但如果你真的想要,你也可以在UIWindow上使用2个不同的UIViews。