【发布时间】:2010-11-04 21:56:45
【问题描述】:
我正在编写一个通用 iOS 应用程序,其中包含一个文本输入组件。当显示带有 UITextView 的视图时,我调用 [UITextView becomeFirstResponder] 以便弹出键盘。当用户点击完成/保存时,视图控制器在其导航控制器上调用 pop,键盘应该自动消失。
这在 iPhone/iPod touch 上运行良好,但在 iPad 上,即使在弹出视图之后,键盘仍会保持向上,并带有附件视图。我已经尝试了所有方法:使用 Instruments 检查泄漏、静态分析器、多次显式调用 [UITextView resignFirstResponder]、堆快照,并且无论如何,一旦弹出视图控制器或找出原因,我都无法让键盘消失不会的。这是一个大问题,因为 UINavigationController 层次结构中的“上一个”视图控制器没有文本字段,并且辅助视图保留在键盘顶部,当点击它上的按钮时,它们会向释放的视图发送消息控制器,导致崩溃。
我能说出 iPhone/iPad 版本之间的唯一区别是,iPhone 版本当然是以模态方式在全屏上呈现导航控制器,而在 iPad 上,导航控制器以 UIModalPresentationFormSheet 形式呈现。
我希望这些信息足以让某人诊断问题。如果不是,我会发布一个示例项目。
【问题讨论】:
标签: iphone cocoa-touch ipad uikit