我是iOS开发的新手。我有一个已经开发的应用程序。我进行了更改,但是无法使用push / replace / present以及以编程方式带有或不带有hero包的视图从ViewController导航到另一个ViewController。他们都不起作用!
我有两个情节提要,每个都有多个ViewController。
这是我在AppDelegate中所做的:
self.window?.rootViewController = UIStoryboard(name: "Auth", bundle: nil).instantiateInitialViewController()
self.window?.makeKeyAndVisible()
这是我的导航方式:
guard let registerViewController = UIStoryboard(name: "Auth", bundle: .main)
.instantiateViewController(withIdentifier: "RegisterViewController")
as? RegisterViewController else { return }
self.navigationController?.pushViewController(registerViewController, animated: true)
我不想使用Storyboard链接来链接这些ViewController,因为有时我需要进行异步操作或根据条件进行导航,然后再移至另一个ViewController
我在这里做错什么了吗?
答案 0 :(得分:2)
**To navigate from one controller to another, you have to make navigation controller as a rootViewController as shown below:-**
let authVC = UIStoryboard(name: "Auth", bundle: nil).instantiateInitialViewController()
let nav = UINavigationController(rootViewController: authVC)
self.window?.rootViewController = nav
self.window?.makeKeyAndVisible()
答案 1 :(得分:0)
我通过在NavigationController
故事板上添加Auth
来解决此问题,或者以编程方式使用UINavgiationController
作为@Nexus的答案。