导航控制器在多个情节提要中不起作用

Navigation controller is not working in multiple storyboard

提问人:Am1rFT 提问时间:9/11/2018 最后编辑:Am1rFT 更新时间:9/17/2018 访问量:954

问:

我有一个登录页面,这是我的应用程序的开头。 授予用户后,我会将其重定向到另一个情节提要。

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

enter image description here

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

enter image description here

而 Photo3 只是为了澄清 Photo2。

enter image description here

问题出在用户单击表视图中的一行后的照片 2。后退按钮不起作用(在应用程序中可见)

下面的代码显示了 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)

我还将以下代码添加到委托中:

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

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

//////////////////////////////////////////////////////////////// 安下水道我创建了一个新项目,在那里运行良好!我认为这是 xCode 的问题!

iOS iPhone Swift UI导航控制器

评论

0赞 ielyamani 9/11/2018
此行缺少末尾的类型...let next =
0赞 Am1rFT 9/11/2018
感谢您的报告,我解决了这个问题
0赞 Wings 9/11/2018
您是否在单击的 tableview 单元格上显示视图控制器
0赞 Am1rFT 9/11/2018
@V_rohit什么意思?当用户随机点击一行时,我想转到另一个 VC
0赞 Wings 9/11/2018
然后,如果要转到下一个视图控制器,请使用 TableView 的 did select 方法

答:

1赞 Am1rFT 9/17/2018 #1

重新启动您的项目,这可能是 Xcode 问题