Swift becomeFirstResponder在触摸任何UITextField至少一次后才会显示键盘

Swift becomeFirstResponder在触摸任何UITextField至少一次后才会显示键盘,swift,uiview,uikit,ios13,foundation,Swift,Uiview,Uikit,Ios13,Foundation,最后可能的解决方案。 我正在开发一个带有三个UITextField的UIViewController。当屏幕出现时,打开键盘的功能连续工作了3年,然后在iOS 13之后停止工作。同样的脚本在iOS 11和iOS 12上仍然正常工作 要使其再次工作,我需要单击应用程序中的任何UITextField(不需要在同一屏幕上)。之后,我的应用程序中的所有UITextField都会触发键盘 不,我没有使用硬件键盘,问题也发生在真正的iPhoneX上 要打开键盘,我正在执行以下操作: 覆盖函数视图显示(uu动

最后可能的解决方案。

我正在开发一个带有三个
UITextField
UIViewController
。当屏幕出现时,打开键盘的功能连续工作了3年,然后在iOS 13之后停止工作。同样的脚本在iOS 11和iOS 12上仍然正常工作

要使其再次工作,我需要单击应用程序中的任何
UITextField
(不需要在同一屏幕上)。之后,我的应用程序中的所有
UITextField
都会触发键盘

不,我没有使用硬件键盘,问题也发生在真正的iPhoneX上

要打开键盘,我正在执行以下操作:

覆盖函数视图显示(uu动画:Bool){
super.viewdide显示(动画)
DispatchQueue.main.async{[weak self]位于
self?.textField.perform(
#选择器(自我?成为第一响应者),
与:无,
后延迟:0.1)
}
}
我在多台设备上对它进行了很好的测试,还录制了一段视频,显示iOS 12和iOS 13并排运行相同的二进制文件,并且该功能在iOS 13上不起作用

同样,只有当用户从不单击任何
(或任何打开键盘的内容)时,它才不会打开键盘。单击此类型的组件后,键盘将再次开始打开

该应用程序在iOS 13上使用
UIScene
。这可能是问题所在吗

这是iOS 13上的已知错误吗?我不知道如何解决这个问题

我的设置:

  • macOS 10.15.2
  • 代码11.3
  • 斯威夫特5
问题的屏幕截图,相同的二进制文件,相同的操作进入此屏幕,不同的行为(后面
UIViewController
的信息被手动隐藏):

可能的解决办法:


如果您在项目中使用
对讲机
。只要在ViewController启动时添加
Intercom.logout()
。在那之后,问题就解决了。

同一问题,请随便找一个answer@ShakeelAhmed你在使用对讲机库吗?通过调用
Intercom.logout()
解决了我的问题。你解决了吗?我也经历过这种情况issue@JulienS. 你在用对讲机吗?@PedroPauloAmorim我不是,只是一个普通人。请给我一个相同的问题answer@ShakeelAhmed你在使用对讲机库吗?通过调用
Intercom.logout()
解决了我的问题。你解决了吗?我也经历过这种情况issue@JulienS. 你在用对讲机吗?@PedroPauloAmorim我不是,只是一个普通的uitextfield