【发布时间】:2012-02-05 18:02:39
【问题描述】:
是否可以在键盘已经可见的情况下显示我的模态视图控制器?目前,模式的文本视图在其视图加载后立即成为第一响应者,这会导致键盘动画从底部升起。
我希望键盘已经在模态框上并成为其过渡的一部分。有什么建议吗?
【问题讨论】:
-
早于
viewDidLoad或init... 否
标签: objective-c ios modalviewcontroller
是否可以在键盘已经可见的情况下显示我的模态视图控制器?目前,模式的文本视图在其视图加载后立即成为第一响应者,这会导致键盘动画从底部升起。
我希望键盘已经在模态框上并成为其过渡的一部分。有什么建议吗?
【问题讨论】:
viewDidLoad 或init ... 否
标签: objective-c ios modalviewcontroller
键盘是一个单独的UIWindow 对象。它与您的视图控制器的视图不在同一个视图层次结构中。要做到这一点,您必须在键盘窗口的UIApplication 的windows 属性中进行挖掘,并将其默认动画替换为自定义动画。
【讨论】:
The keyboard is a separate UIWindow object. 但是,建议某人 dig around in the UIApplication's windows property for the keyboard window 可能不是一个好主意 - 除非你不关心应用商店 - 或者你的应用程序在 iOS 更新时是否正常工作发布。
您可以尝试将becomeFirstResponder 代码放入vieWillAppear,但这无论如何都不是“正确”的做法。
您可能需要将实际的键盘动画替换为自定义动画,以强制它立即加载且无需向上滚动。
【讨论】: