在推送新的视图控制器之前移除键盘

Posted

技术标签:

【中文标题】在推送新的视图控制器之前移除键盘【英文标题】:Remove keyboard before pushing new viewcontroller 【发布时间】:2014-07-01 07:49:10 【问题描述】:

当我选择一些文本字段时,我会推送一个新的视图控制器。所以我必须在加载新的视图控制器之前隐藏键盘。但是当新视图出现时,键盘仍然存在。 resignkeyboard 和 [self.view endEditing:YES];不起作用。如何删除新视图控制器的键盘。谢谢。

【问题讨论】:

你能显示代码吗?或者应该尝试 [yourTExtField resignFirstResponder]; 您允许用户在文本字段中输入任何内容吗? If No 表示在委托方法中调用 resign firstResponse didBeginEditing.. 我不能给你看任何代码。因为没有什么可显示的。这只是一个普通的 UITextField。:/ 我允许用户交互。因此,每次我触摸文本字段时都会触发开始编辑委托。我将 resignfirstrepsponder 和 endediting 函数放入 viewWillLayoutSubviews。 viewwilldisappear 或 viewdiddisappear 不能用于这种情况。因为我使用 addSubview 方法来调用带有动画的新视图控制器。但它们都不起作用。 参考此链接***.com/questions/5478719/uitextfield-hide-keyboard/… 它没有用。它只是不会消失。 :/当我点击必须显示没有键盘的文本字段时,它不会消失。前一个文本字段的键盘只会出现。也许我不必使用文本字段。 【参考方案1】:

在去新的 viewController 之前做

[self.view endEditing:YES];

对所有你的TextFields调用resignFirstResponder方法。

【讨论】:

【参考方案2】:

正如 Madhur 所说的那样,如果你有 [yourTExtField resignFirstResponder];转到新视图控制器之前的代码应该可以工作。如果您输入代码 sn-p 那么我可以尝试为您提供确切的解决方案。

【讨论】:

以上是关于在推送新的视图控制器之前移除键盘的主要内容,如果未能解决你的问题,请参考以下文章

显示键盘时推送另一个视图时的tableView调整大小问题

在 iOS 拆分视图控制器上推送新的视图控制器

从表视图(子视图)推送新的视图控制器

从子视图推送新的视图控制器

从目标视图控制器推送新的视图控制器(swift)

从标签栏应用程序中的表格视图推送新的视图控制器