为什么从导航堆栈弹出视图时键盘不显示?

我在视图上有几个UITextField对象。 当我按下它们时,我得到一个键盘和UIKeyboardWillShowNotification事件。 当我将一个新的视图控制器推入堆栈而其中一个文本字段是第一个响应者时,键盘会动画(如我所料)。 然而,当我按下后退按钮时,他们的文本字段成为第一个响应者,但键盘没有恢复。 当我再次点击同一视图中的其他文本字段时,键盘无法启动。 如果键盘在我重新进入视图时没有启动会很好,但是当我点击另一个文本字段时,我不确定是什么会导致它无法启动。 为什么会发生这种情况,我该如何解决?

旁注,当我在离开屏幕前辞职第一响应者时,一切正常。

我已经弄明白了,据我所知,这是Apple代码的一个错误。 我在UITextField的父视图之一上有一个名为firstResponder 。 似乎没有任何理由我不应该使用此名称但显然Apple已经在其代码中的某处使用过它,当我使用此名称创建属性时,它会导致框架中的第一个响应者代码严重错了。 解决方案是将我的财产命名为其他东西。

辞职第一响应者的唯一原因是让事情发挥作用的原因是我还将firstResponder属性设置为nil。

我认为键盘被其他机制隐藏,而不是第一响应者辞职,所以系统认为它已经显示键盘,所以不觉得需要再次显示它。

如果您可以获得一个具有可重现实现的简单示例应用程序,这听起来像iOS中的一个错误,您应该向Apple报告。