刚刚注意到这件很奇怪的事情(iOS 5.1、sim 和设备):
我有一个相当简单的 UITableViewController。它处于编辑模式,带有一些轻微定制的 UITextField。触摸一个单元格,它成为第一响应者,键盘弹出,一切正常。我有几个不同的控件(例如,您的典型键盘工具栏),通过退出第一响应者来强制键盘隐藏。通常这一切都很好。
除非在触摸控件时作为第一响应者的视图不在屏幕上。它确实让第一响应者辞职,通过跟踪呼叫和向上滚动并看到它不再具有焦点/光标都可以看到。但是键盘并没有隐藏。事实上,从那时起,即使我弹出控制器,它也经常不会发生。
代码有点多引用。但是我已经走到了(通过从窗口开始的视图层次结构)追踪辞职呼叫之前和之后的第一响应者的地步,这是我所期望的,之前的文本字段,之后什么都没有。但是该死的键盘还在。
有人见过这个吗?有什么明显的吗?还是不明显?
更新:我确实找到了一种解决方法,即创建一个简单的 UITextField,将其添加到视图中,成为并退出第一响应者,然后将其从视图中删除。似乎是一个 hack,我想知道它将如何与其他版本一起玩,但除非有正确的方法来做到这一点......
让我猜这是 UITableViewController 中的一个错误(或者可能是 UITableView,但对我来说,控制器更可疑。)