找不到交互视图的键盘场景委托
Could not find keyboard scene delegate for interaction view
低于 iOS13 我的 UITextField 正确启动键盘并让用户输入他们的答案。
以上 iOS 13,当我点击文本字段时触发 textFieldDidBeginEditing()
,但键盘未显示,因此用户无法给出答案。
调试控制台不会立即抛出任何错误,但最终会出现以下消息,我认为这是关键:
Could not find keyboard scene delegate for interaction view
我认为错误出现在稍后的 iOS 年代,因为场景成为主要内容 - 我需要在某处设置委托以允许键盘出现在第一个场景的前面。
虽然不知道该怎么做!
我的 UITextField 是完全标准的。为了重现错误,我在 SceneDelegate
中设置了以下代码
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
let windowScene = UIWindowScene(session: session, connectionOptions: connectionOptions)
self.window = UIWindow(windowScene: windowScene)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "VC" )
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
guard let _ = (scene as? UIWindowScene) else { return }
}
在我的实际应用中 - 如果用户是新用户(即我需要能够更改起始视图控制器),我会使用此子例程启动教程
您的 SceneDelegate 函数 scene() 中似乎有问题。
试试我从手头的另一个项目中获取的代码。
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
self.window?.rootViewController = ViewController()
self.window?.makeKeyAndVisible()
}
低于 iOS13 我的 UITextField 正确启动键盘并让用户输入他们的答案。
以上 iOS 13,当我点击文本字段时触发 textFieldDidBeginEditing()
,但键盘未显示,因此用户无法给出答案。
调试控制台不会立即抛出任何错误,但最终会出现以下消息,我认为这是关键:
Could not find keyboard scene delegate for interaction view
我认为错误出现在稍后的 iOS 年代,因为场景成为主要内容 - 我需要在某处设置委托以允许键盘出现在第一个场景的前面。
虽然不知道该怎么做!
我的 UITextField 是完全标准的。为了重现错误,我在 SceneDelegate
中设置了以下代码class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
let windowScene = UIWindowScene(session: session, connectionOptions: connectionOptions)
self.window = UIWindow(windowScene: windowScene)
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let initialViewController = storyboard.instantiateViewController(withIdentifier: "VC" )
self.window?.rootViewController = initialViewController
self.window?.makeKeyAndVisible()
guard let _ = (scene as? UIWindowScene) else { return }
}
在我的实际应用中 - 如果用户是新用户(即我需要能够更改起始视图控制器),我会使用此子例程启动教程
您的 SceneDelegate 函数 scene() 中似乎有问题。
试试我从手头的另一个项目中获取的代码。
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
self.window?.rootViewController = ViewController()
self.window?.makeKeyAndVisible()
}