从ViewController导航到另一个ViewController

时间:2020-07-27 15:06:45

标签: ios swift uinavigationcontroller

我是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

我在这里做错什么了吗?

2 个答案:

答案 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的答案。