转换到带键盘可见的模态视图控制器

Posted

技术标签:

【中文标题】转换到带键盘可见的模态视图控制器【英文标题】:Transition to Modal View Controller with Keyboard Visible 【发布时间】:2012-02-05 18:02:39 【问题描述】:

是否可以在键盘已经可见的情况下显示我的模态视图控制器?目前,模式的文本视图在其视图加载后立即成为第一响应者,这会导致键盘动画从底部升起。

我希望键盘已经在模态框上并成为其过渡的一部分。有什么建议吗?

【问题讨论】:

早于viewDidLoadinit ... 否 【参考方案1】:

键盘是一个单独的UIWindow 对象。它与您的视图控制器的视图不在同一个视图层次结构中。要做到这一点,您必须在键盘窗口的UIApplicationwindows 属性中进行挖掘,并将其默认动画替换为自定义动画。

【讨论】:

+1 for The keyboard is a separate UIWindow object. 但是,建议某人 dig around in the UIApplication's windows property for the keyboard window 可能不是一个好主意 - 除非你不关心应用商店 - 或者你的应用程序在 ios 更新时是否正常工作发布。【参考方案2】:

您可以尝试将becomeFirstResponder 代码放入vieWillAppear,但这无论如何都不是“正确”的做法。

您可能需要将实际的键盘动画替换为自定义动画,以强制它立即加载且无需向上滚动。

【讨论】:

以上是关于转换到带键盘可见的模态视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iOS 7 自定义转换在顶部呈现半模态视图控制器

Xcode 11.1 查看控制器在当前 VC 下可见时以模态方式呈现

在键盘处于活动状态时呈现模态视图控制器

在当前可见之前关闭先前呈现的模态视图控制器

如何使我的键盘弹出窗口更加流畅,我的视图控制器以模态方式出现?

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