我正在写一个通用的iOS应用程序,它是一个文本输入组件。当显示包含UITextView的视图时,我调用[UITextView becomeFirstResponder]以便弹出键盘。当用户点击done/save时,视图控制器调用其导航控制器上的pop和键盘
自动消失。
这在iPhone/iPod touch上运行得很好,但在iPad上,即使在弹出视图后,键盘仍保持向上,带有附件视图。我已经尝试了所有的方法:用仪器检查漏洞,静态分析器,多次显式调用[UITextView resignFirstResponder],堆快照,无论发生什么,只要视图控制器被弹出,我都无法让键盘消失,或者弄清楚为什么它不会消失。这是一个巨大的问题,因为UINavigationController层次结构中的“previous”视图控制器没有文本字段,而附件视图仍位于键盘顶部,当点击其上的按钮时,它们会向解除分配的视图控制器发送消息,从而导致崩溃。
我能说出iPhone/iPad版本之间唯一的区别是iPhone版本在全屏模式下显示导航控制器,而iPad上的导航控制器在UIModalPresentationFormSheet中显示。
我希望这是足够的信息,让有人诊断的问题。如果不是,我会发布一个示例项目。