代码之家  ›  专栏  ›  技术社区  ›  refulgentis

iPad、UITextView和firstResponder问题

  •  1
  • refulgentis  · 技术社区  · 15 年前

    我正在写一个通用的iOS应用程序,它是一个文本输入组件。当显示包含UITextView的视图时,我调用[UITextView becomeFirstResponder]以便弹出键盘。当用户点击done/save时,视图控制器调用其导航控制器上的pop和键盘 自动消失。

    这在iPhone/iPod touch上运行得很好,但在iPad上,即使在弹出视图后,键盘仍保持向上,带有附件视图。我已经尝试了所有的方法:用仪器检查漏洞,静态分析器,多次显式调用[UITextView resignFirstResponder],堆快照,无论发生什么,只要视图控制器被弹出,我都无法让键盘消失,或者弄清楚为什么它不会消失。这是一个巨大的问题,因为UINavigationController层次结构中的“previous”视图控制器没有文本字段,而附件视图仍位于键盘顶部,当点击其上的按钮时,它们会向解除分配的视图控制器发送消息,从而导致崩溃。

    我能说出iPhone/iPad版本之间唯一的区别是iPhone版本在全屏模式下显示导航控制器,而iPad上的导航控制器在UIModalPresentationFormSheet中显示。

    我希望这是足够的信息,让有人诊断的问题。如果不是,我会发布一个示例项目。

    1 回复  |  直到 15 年前
        1
  •  2
  •   David Liu    15 年前

    如果我没记错的话,在UIModalPresentationFormSheet中显示某些内容时,键盘总是显示出来。尝试一些不同的方法看看是否有效。

    推荐文章