更改初始视图控制器swift

更改初始视图控制器swift,swift,appdelegate,Swift,Appdelegate,我需要根据voiceover是否打开来更改初始视图控制器。我尝试了多种方法,但总是出现相同的错误:“AppDelegate”类型的值没有成员“window” 这就是我的didFinishLaunchingWithOptions中的内容 print("voiceover: \(voiceOver)") // prints if voice over is on self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

我需要根据voiceover是否打开来更改初始视图控制器。我尝试了多种方法,但总是出现相同的错误:“AppDelegate”类型的值没有成员“window” 这就是我的didFinishLaunchingWithOptions中的内容

    print("voiceover: \(voiceOver)") // prints if voice over is on

    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    let storyboard = UIStoryboard(name: "Main", bundle: nil)

    let initialViewController = storyboard.instantiateViewController(withIdentifier: "voiceoverViewController")

    self.window?.rootViewController = initialViewController
    self.window?.makeKeyAndVisible()
“AppDelegate”类型的值没有成员“window”

您必须手动声明窗口属性:

var window: UIWindow?
UIApplicationLegate只是一个协议,它不会为您声明任何属性。

您必须手动声明窗口属性:

var window: UIWindow?
UIApplicationLegate只是一个协议,它不为您声明任何属性。

您不必手动声明窗口变量

它在项目中的SceneDelegate文件中可用

它将具有预定义的方法:

func场景\场景:UIScene,将连接到会话:UISceneSession, 选项连接选项:UIScene.connectionOptions

范例

您不必手动声明窗口变量

它在项目中的SceneDelegate文件中可用

它将具有预定义的方法:

func场景\场景:UIScene,将连接到会话:UISceneSession, 选项连接选项:UIScene.connectionOptions

范例


谢谢我的代码现在运行,但它没有打开我拥有的视图控制器specified@KieranWaugh从plist中删除主情节提要。不幸的是,它仍然无法打开到指定的视图controller@KieranWaugh你确定代码正在运行吗?你的AppDelegate上面有@UIApplicationMain属性吗?我想这是因为我使用的是swift 5和IOS 13,但是我仍然不知道如何解决这个问题,谢谢你的帮助!谢谢我的代码现在运行,但它没有打开我拥有的视图控制器specified@KieranWaugh从plist中删除主情节提要。不幸的是,它仍然无法打开到指定的视图controller@KieranWaugh你确定代码正在运行吗?你的AppDelegate上面有@UIApplicationMain属性吗?我想这是因为我使用的是swift 5和IOS 13,但是我仍然不知道如何解决这个问题,谢谢你的帮助!