推动视图控制器时防止键盘关闭

Posted

技术标签:

【中文标题】推动视图控制器时防止键盘关闭【英文标题】:Prevent keyboard from dismissing while pushing view controller 【发布时间】:2015-01-13 06:02:47 【问题描述】:

当我使用pushViewController:animated: 推送UIViewController 时,我很难控制键盘行为。从视图包含一些UITextFields,但到视图没有。如果键盘在按下时存在,它会在水平按下动画旁边自动退出。看到从视图向下滑动的同时,从视图滑入,这有点不和谐。

我可以让键盘保持其位置并使用 from 控制器水平滑出视图吗?我当然也看到过这种情况,在这种情况下,to 控制器在按下时有一个从左侧滑入的键盘。

【问题讨论】:

通常情况正好相反。人们希望在推送动画之前关闭键盘。如果您希望保留推送动画,则很难实现您的目标,因为这是键盘的默认行为。 【参考方案1】:

我也不确定这是否可行。基本上,您必须将键盘添加为prepareForSegue 中当前视图的子视图。我不知道你是否可以用键盘做到这一点。

如果没有,您可以通过在prepareForSegue 中执行以下操作来进行作弊:

    截取包含键盘的视图部分的屏幕截图 将屏幕截图作为子视图添加到视图中 关闭没有动画的键盘

【讨论】:

【参考方案2】:

当您从一个屏幕导航到另一个屏幕时,通过 push 您将推送代码放在您可以使用的相同位置的位置,处理键盘非常简单 - [Textfield Resignfirstresponder]; 这将自动处理您的键盘。希望这对您有所帮助。

【讨论】:

我正在寻找相反的 - 以防止这种情况发生。

以上是关于推动视图控制器时防止键盘关闭的主要内容,如果未能解决你的问题,请参考以下文章

关闭时,横向iPad上带有键盘的模态视图控制器会更改位置[重复]

模式视图控制器关闭后iOS 8键盘关闭延迟

如果未关闭键盘,则在使用搜索栏时进行 segueing 会更改目标视图控制器布局

防止键盘在更改视图时关闭

同时关闭带有视图的键盘

我应该在关闭视图之前关闭键盘吗?