Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.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 为什么从导航堆栈弹出视图时键盘不显示?_Iphone_Ios_First Responder - Fatal编程技术网

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

Iphone 为什么从导航堆栈弹出视图时键盘不显示?,iphone,ios,first-responder,Iphone,Ios,First Responder,我在一个视图上有几个UITextField对象。当我按下它们时,我会得到一个键盘,ui键盘也会显示notification事件。当我将一个新的视图控制器推到堆栈上,而其中一个文本字段是第一个响应者时,键盘动画就会消失(如我所料)。然而,当我按下后退按钮时,文本字段成为第一个响应者,但键盘没有返回。当我在同一个视图中单击另一个文本字段时,键盘再次出现故障。当我重新进入视图时,如果键盘没有打开就可以了,但我不确定当我单击另一个文本字段时,什么会使它无法打开。为什么会发生这种情况,我如何修复它 旁注,

我在一个视图上有几个
UITextField
对象。当我按下它们时,我会得到一个键盘,
ui键盘也会显示notification
事件。当我将一个新的视图控制器推到堆栈上,而其中一个文本字段是第一个响应者时,键盘动画就会消失(如我所料)。然而,当我按下后退按钮时,文本字段成为第一个响应者,但键盘没有返回。当我在同一个视图中单击另一个文本字段时,键盘再次出现故障。当我重新进入视图时,如果键盘没有打开就可以了,但我不确定当我单击另一个文本字段时,什么会使它无法打开。为什么会发生这种情况,我如何修复它


旁注,当我在离开屏幕前退出first responder时,一切正常。

我想象键盘被其他机制隐藏,而不是first responder退出,因此系统认为它已经在显示键盘,因此没有必要再次显示它


如果你能得到一个简单的示例应用程序和一个可复制的实现,它听起来像是iOS中的一个bug,你应该向苹果报告

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


如果你能得到一个简单的示例应用程序和一个可复制的实现,它听起来像是iOS中的一个bug,你应该向苹果报告

我已经弄明白了,据我所知,这是苹果代码的一个bug。我在UITextField的父视图之一上有一个名为
firstResponder
的属性。我似乎没有任何理由不应该使用这个名称,但很明显苹果已经在他们的代码中使用了这个名称,当我创建一个具有这个名称的属性时,它会导致框架中的第一响应程序代码严重出错。解决办法是给我的财产取个别的名字


辞职first responder的唯一原因是我还将firstResponder属性设置为零。

我已经找到了答案,据我所知,这是苹果代码中的一个错误。我在UITextField的父视图之一上有一个名为
firstResponder
的属性。我似乎没有任何理由不应该使用这个名称,但很明显苹果已经在他们的代码中使用了这个名称,当我创建一个具有这个名称的属性时,它会导致框架中的第一响应程序代码严重出错。解决办法是给我的财产取个别的名字


退出first responder的唯一原因是我还将firstResponder属性设置为零。

那么,在离开第一个屏幕之前退出first responder……虽然我可以(也将)这样做以解决特定的案例,但我希望得到一个解释和一般的解决方案。那么,在离开第一个屏幕之前,请让第一个响应者辞职……虽然我可以(并且将)这样做来解决这个特殊的案例,但我希望得到一个解释和一个普遍的解决方案。