导航控制器无法在多个故事板中工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导航控制器无法在多个故事板中工作相关的知识,希望对你有一定的参考价值。

我的应用程序的开头有一个登录页面。当用户被授予时,我会将其重定向到另一个故事板。

在下面的照片1中:白色屏幕检查是否是用户授予的。如果是的话我将重定向到Photo2。否则我会将它们重定向到登录页面(photo1中的红色页面)。)

enter image description here

在下面的Photo2中:(我将显示一个包含一些数据的表格视图。当用户点击其中一个数据时,它会转到下一页(右边一个)。)

enter image description here

而Photo3只是为了澄清Photo2。

enter image description here

用户单击表视图中的行后,问题是Photo2。后退按钮不起作用(在应用程序中可见)

下面的代码显示了Photo1中的白屏代码:

 if let token = UserDefaults.standard.string(forKey: ConstantsKey.token){
            if !token.isEmpty{
                let storyboard : UIStoryboard = UIStoryboard(name: "MainTabBar", bundle: nil)
                let vc = storyboard.instantiateViewController(withIdentifier: "MainTabBarVC")
                let rootController = UINavigationController(rootViewController: vc)
                rootController.navigationBar.barTintColor = UIColor.init(red: 229/255, green: 28/255, blue: 60/255, alpha: 1)
                self.present(rootController, animated: true, completion: nil)
            }else{
//              let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

                let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
                let vc = storyboard.instantiateViewController(withIdentifier: "LoginVc")

                self.present(vc, animated: true, completion: nil)
            }
        }else{
            let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
            let vc = storyboard.instantiateViewController(withIdentifier: "LoginVc")
            self.present(vc, animated: true, completion: nil)


        }

以下代码显示授予用户后的登录页面:

let storyboard : UIStoryboard = UIStoryboard(name: "MainTabBar", bundle: nil)
                        let vc = storyboard.instantiateViewController(withIdentifier: "MainTabBarVC")
                        let rootController = UINavigationController(rootViewController: vc)
                        self.present(rootController, animated: true, completion: nil)

下面的代码显示了我将用户重定向到照片2中存在问题的页面的方式:

let next = self.storyboard?.instantiateViewController(withIdentifier:  "ShopVc") as! ShopViewController
    self.navigationController?.pushViewController(next, animated: true)

我还将以下代码添加到Delegate:

UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .any, barMetrics: .default)
    UINavigationBar.appearance().shadowImage = UIImage()

我在这里做错了可能会导致这个问题吗?

////////////////////////////////////////////////// //////////////答案我创建了一个在那里工作得很好的新项目!我认为这是xCode的问题!

答案

重启你的项目,这可能是一个Xcode问题

以上是关于导航控制器无法在多个故事板中工作的主要内容,如果未能解决你的问题,请参考以下文章

在多个情节提要上维护导航栏?

WatchKit App 中的多个故事板

ios7 - 故事板 - 无法在我的视图控制器中设置导航栏

在故事板之间保持导航控制器(swift)

在多个故事板环境中展开 segue

iOS - 故事板中的导航控制器