答案是作为一个可能的解决方案,其他类似的问题提供的,而是在传统治疗不起作用。
总结 -
我有一个类似的问题(一定条件下),并尝试了一切 - 无济于事 - 包括在我的可能的解决方案列表是[OBJ的resignFirstResponder],disablesAutomaticKeyboardDismissal的”压倒一切'为我的视图控制器,[self.view endEditing:YES];和一堆其他的东西。
关于确定当前第一响应者的[id],仅仅发现它是零。敲击键盘上的“完成”或使用上述任何方法都不会做任何事情 - 键盘保持不变 - 即使在敲击另一个输入字段后也是如此。
屏幕本质上是一个ViewController,带有一个UITableView,每个单元中有一个文本输入字段 - 总共7或8个。敲击任何单元格将按预期调出键盘,并单击“下一步”按钮(隐藏键盘和其他处理)按预期工作。 但是,在横向模式下,键盘覆盖了最后一个字段,要求滚动表格以显示该字段。
滚动和点击最后一个输入字段后,键盘不能被解除 - 无论如何。唯一的解决方法是将表格滚回键盘下方,然后点击“下一步”按钮。这没有意义。
几乎在放弃(并实现解决方法)的时候,解决方案的工作是让最后一个输入字段成为firstResponder(即使它已经有一个闪烁的光标),然后在resignFirstResponder之后。
所以;
` - (无效)actionNext {
[[m_arrInputFields objectAtIndex:7] becomeFirstResponder];
[[m_arrInputFields objectAtIndex:7] resignFirstResponder];
}`
固定的问题 - 而[m_arrInputFields objectAtIndex:#任何其他索引#] 没有!
将是巨大的,如果任何人都可以提供清晰和对此的解释 - 其他 - 我希望这样可以节省别人工作了几个小时!
听起来像一个错误。我建议在bugreport.apple.com上提交报告。 – 2010-05-10 21:10:06
当textFields在modalPresentationStyle = UIModalPresentationFormSheet – 2010-07-06 20:39:08
的模态视图中时也有同样的问题,我也遇到了这个bug。 – 2010-07-13 14:59:36