在场景委托中更改主情节提要后导航控制器不工作

Naviagtion Controller not working after chnaging main storyboard in Scene delegate

我已经从我的项目中删除了 main.storyboard,并使用 scenedelegate.swift 文件将初始屏幕更改为 Home.storyboard。现在当我尝试导航控制器时,它是零。

SceneDelegate.swift

guard let winScene = (scene as? UIWindowScene) else { return }        
window = UIWindow(windowScene: winScene)        
let storyboard = UIStoryboard(name: "VerifyOTP", bundle: nil)        
let initialViewController = storyboard.instantiateViewController(identifier: "VerifyOTP")        window?.rootViewController = initialViewController        
window?.makeKeyAndVisible()

HomeVC.swift

let OrderScreen: PlaceOrderVC = self.storyboard!.instantiateViewController(withIdentifier: "PlaceOrder") as! PlaceOrderVC            
let navigationController = self.navigationController!            
print(navigationController)            
OrderScreen.BillDisplay = self.billing            
navigationController.pushViewController(OrderScreen, animated: true)

您需要将 initialViewController 嵌入导航控制器,然后将 navController 设为 rootViewController。检查下面的代码。

    guard let winScene = (scene as? UIWindowScene) else { return }
    window = UIWindow(windowScene: winScene)
    let storyboard = UIStoryboard(name: "VerifyOTP", bundle: nil)
    let initialViewController = storyboard.instantiateViewController(identifier: "VerifyOTP")
    let navController = UINavigationController(rootViewController: initialViewController)
    window?.rootViewController = navController
    window?.makeKeyAndVisible()