Iphone iPad popover文本字段-辞职的FirstResponder不';不要放弃键盘
我有两个文本字段email和password。当字段显示在常规视图中时,以下代码可以正常工作,但当它们位于popover上时,辞职的FirstResponder不工作(becomeFirstResponder工作)。两个字段都调用了textFieldsShouldReturn。 你知道我是否遗漏了什么吗? 谢谢Iphone iPad popover文本字段-辞职的FirstResponder不';不要放弃键盘,iphone,ipad,uipopovercontroller,Iphone,Ipad,Uipopovercontroller,我有两个文本字段email和password。当字段显示在常规视图中时,以下代码可以正常工作,但当它们位于popover上时,辞职的FirstResponder不工作(becomeFirstResponder工作)。两个字段都调用了textFieldsShouldReturn。 你知道我是否遗漏了什么吗? 谢谢 我对此不太确定,但是,正如我所理解的响应者层次结构,只有当你有其他响应者要回答时,辞职才会起作用 在常规观点中,观点本身是自愿的。在弹出窗口中,可能需要对弹出窗口类执行一些操作(例如重新
我对此不太确定,但是,正如我所理解的响应者层次结构,只有当你有其他响应者要回答时,辞职才会起作用
在常规观点中,观点本身是自愿的。在弹出窗口中,可能需要对弹出窗口类执行一些操作(例如重新实现一些响应程序方法)才能使其正常工作。我也遇到了这个问题。但我通过制作另一个控件解决了这个问题,该控件不在popover中,作为第一响应者,后来a从那里辞职。但我不知道popover有什么问题。如中所述,当视图显示为UIModalPresentationFormSheet样式时,键盘有时会保持在屏幕上。检查问题: 下面重写
disablesautomatickeyboarddisessal
返回NO
,修复了我的相同问题。您应该将此代码放入视图控制器,从中启动键盘:
- (BOOL)disablesAutomaticKeyboardDismissal {
return NO;
}
答案是作为一个可能的解决方案提供给其他有类似问题的人,但传统的补救办法不起作用 总括而言— 我有一个类似的问题(在特定条件下,),我尝试了所有可能的解决方案,但都无效,包括[obj的辞职FirstResponder],我的视图控制器[self.view endEditing:YES]的“DisablesAutoMatickyBoardDisassal”覆盖;还有其他一些事情 去确定当前第一响应者的[id],结果发现它是零。在键盘上点击“完成”或使用上述任何一种方法都不会产生任何效果,即使在点击另一个输入字段后,键盘仍会保留 屏幕本质上是一个ViewController,每个单元格中都有一个文本输入字段,总共有7或8个。点击任何单元格都会按预期打开键盘,点击单独的“下一步”按钮(隐藏键盘和其他处理)也会按预期工作。 但是,在横向模式下,最后一个字段被键盘覆盖,需要滚动表格以显示该字段。 在滚动并点击最后一个输入字段后,键盘不能被关闭——不管发生什么。唯一的解决办法是将表格向后滚动到键盘下,然后点击“下一步”按钮。这没有道理 几乎在放弃的时候(并实现了一个变通方法),有效的解决方案是将最后一个输入字段设为firstResponder(即使它已经有一个闪烁的光标),然后在此之后辞职firstResponder So强> `-(无效)下一步行动{
[[m_arrInputFields objectAtIndex:7] becomeFirstResponder];
[[m_arrInputFields objectAtIndex:7] resignFirstResponder];
}`
修复了问题-而[m_arrInputFields objectAtIndex:#任何其他索引#]没有强>
如果有人能对此提供清晰或解释,那就太好了——其他人——我希望这能为其他人节省几个小时的工作时间 听起来像个虫子。我建议在bugreport.apple.com上提交一份报告。当文本字段处于modalPresentationStyle=UIModalPresentationFormSheet的模式视图时,我也遇到了同样的问题。请参阅stackoverflow.com/questions/3372333/有一个特殊情况。如果视图控制器位于UINavigationController中,则需要将UINavigationController子类化并重写其中的方法。有关更多信息,请参阅。
[[m_arrInputFields objectAtIndex:7] becomeFirstResponder];
[[m_arrInputFields objectAtIndex:7] resignFirstResponder];