Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iPad popover文本字段-辞职的FirstResponder不';不要放弃键盘_Iphone_Ipad_Uipopovercontroller - Fatal编程技术网

Iphone iPad popover文本字段-辞职的FirstResponder不';不要放弃键盘

Iphone iPad popover文本字段-辞职的FirstResponder不';不要放弃键盘,iphone,ipad,uipopovercontroller,Iphone,Ipad,Uipopovercontroller,我有两个文本字段email和password。当字段显示在常规视图中时,以下代码可以正常工作,但当它们位于popover上时,辞职的FirstResponder不工作(becomeFirstResponder工作)。两个字段都调用了textFieldsShouldReturn。 你知道我是否遗漏了什么吗? 谢谢 我对此不太确定,但是,正如我所理解的响应者层次结构,只有当你有其他响应者要回答时,辞职才会起作用 在常规观点中,观点本身是自愿的。在弹出窗口中,可能需要对弹出窗口类执行一些操作(例如重新

我有两个文本字段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];