我正在创建一个应用程序,其中的功能,如如果用户登录,应用程序将转到主页,否则它将转到登录页面。所以我在AppDelegate中添加了下面的代码来更改初始控制器,但是我的代码不起作用。
let storyboard : UIStoryboard = UIStoryboard(name:"Main", bundle: nil)
let navigationController : UINavigationController = storyboard.instantiateInitialViewController() as! UINavigationController
let rootViewController:UIViewController = storyboard.instantiateViewController(withIdentifier: "MyViewController") as! MyViewController
navigationController.viewControllers = [rootViewController]
self.window?.rootViewController = navigationController
self.window?.makeKeyAndVisible()
如果用户已登录,我想更改初始控制器。我想以编程方式实现我的要求,而不使用故事板
1条答案
按热度按时间ha5z0ras1#
你可以通过删除Scene Delegate来解决你的问题,你可以注解整个类,然后还可以从App Delegate类中注解Scene Delegate的方法,比如:
并从info.pist中删除属性Application Scene Manifest,现在运行您的代码,您将能够更改初始Controller。实际上,当我们有两个类时,场景委托将处理这些事情,因此通过删除场景委托,AppDelegate将工作