ios - 更改 View 时隐藏键盘

标签 ios xcode uitextfield uitextview

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

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

最佳答案

使用通知设计方法来消除当前的:

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

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

在第二个 View 中在 viewDidLoad 中添加一个通知监听器:

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

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

-(void)methodToExecute {
    [self.textfield resignFirstResponder];
}

关于ios - 更改 View 时隐藏键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16428313/

相关文章:

javascript - Objective-C - 1970 年 1 月 1 日之间的秒数 00 :00:00 UTC and a given date

android - Polymer StarterKit在PhoneGap/Cordova上不起作用

ios - 有什么办法可以确保只有一个 scrollView 实例具有 scrollsToTop == YES?

ios - undefined symbol : _OBJC_CLASS_$_WKInterfaceController error after updating Xcode to version 11. 1

xcode - 核心数据 : In XCode how can I set my attribute to be unique?

xcode - 如何使用 Swift 打开我的 OSX 应用程序的父文件夹

iphone - UITextField 动画完成,但在用户触摸后又弹回到原来的位置

ios - 即使正在运行应用程序,是否可以让远程通知显示在通知中心中?

ios - Swift 中 UITextField/UIView 的摇动动画

ios - 从地址簿中获取两个文本字段的电话号码