最后可能的解决方案。
我正在开发具有三个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
的信息已手动隐藏):
可能的解决方案:
如果您在项目中使用UIViewController
。在ViewController启动时,只需添加Intercom
。之后,问题就解决了。