【问题标题】:NavigationTab for subsequent Views not working后续视图的 NavigationTab 不起作用
【发布时间】:2020-06-05 00:39:28
【问题描述】:

我有一个 LoginView,在用户身份验证后,用户被发送到相应的 homeView。过渡是以编程方式进行的,没有segue。然后,根据用户类型(比如说,超级用户和测试人员),用户可以从他的 homeView 浏览。两个 homeView 前面都有一个 NavigationController。


                 NavigationController -Segue->  SuperView  -Segue-> SecondView 
->LoginView                                                              |
                 NavigationController -Segue->      HomeView    <-Segue -
                                                       |
                                                        -Segue->  View4 -Segue-> View5 ...

Here is the storyboard flow

问题是:在模拟器中,登录后,第一个视图看起来很棒,但所有下一个视图都没有导航栏。然而,在故事板中,一切看起来都很好。

过渡如下:

func transitionToSuperHome() {

        let supervisorViewController = storyboard?.instantiateViewController(identifier: "superVC") as? SuperuserViewController

        view.window?.rootViewController = superuserViewController
        view.window?.makeKeyAndVisible()
    }

func transitionToHome() {

       let homeViewController = storyboard?.instantiateViewController(identifier: "homeVC") as? HomeViewController
        view.window?.rootViewController = homeViewController
        view.window?.makeKeyAndVisible()
    }

This is how the second (and all subsequent) view looks like

知道什么会导致问题吗?

【问题讨论】:

    标签: ios uinavigationcontroller uinavigationbar uistoryboard


    【解决方案1】:

    在我看来,您将根视图控制器设置为分离状态。一个简单的解决方法可能是将根视图控制器嵌入到导航控制器中,以避免分离状态。这也是为什么您的屏幕截图似乎以模态显示而不是在导航堆栈中显示的原因。

    window?.rootViewController = UINavigationController(rootViewController: homeViewController)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多