直到至少触摸一次UITextField一次,beginFirstResponder才会显示键盘

最后可能的解决方案。

我正在开发具有三个UIViewController的{​​{1}}。出现屏幕时打开键盘的功能已连续运行3年,然后在iOS 13之后停止工作。同一脚本在iOS 11和12上仍可以正常工作。

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

不,我没有使用硬件键盘,在真正的iPhone X上也会出现此问题。

我要打开键盘:

UITextField

我在多种设备上对其进行了很好的测试,还录制了一段视频,显示iOS 12和iOS 13并排运行相同的二进制文件,并且该功能在iOS 13上不起作用。

同样,只有用户从不单击 ANY override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) DispatchQueue.main.async { [weak self] in self?.textField.perform( #selector(self?.becomeFirstResponder),with: nil,afterDelay: 0.1) } } (或打开键盘的任何东西)时,才不会打开键盘。单击此类型的组件后,键盘将再次开始打开。

该应用在iOS 13上使用UITextField。这可能是问题吗?

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

我的设置:

  • macOS 10.15.2
  • Xcode 11.3
  • 雨燕5

问题的屏幕快照,相同的二进制文件,进入该屏幕的相同操作,不同的行为(背面UIScene的信息已手动隐藏):

直到至少触摸一次UITextField一次,beginFirstResponder才会显示键盘

可能的解决方案:

如果您在项目中使用UIViewController。在ViewController启动时,只需添加Intercom。之后,问题就解决了。

linrunwang 回答:直到至少触摸一次UITextField一次,beginFirstResponder才会显示键盘

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2823550.html

大家都在问