navigationController.pushViewController(viewController: UIViewController, animated: Bool) 不起作用

本人僅適合於用純代碼去寫程序,不用於Storyboard.

 

不用Storyboard, 用純代碼寫app,一般來說,如果我們想從ViewController A跳轉到另外一個ViewController B,會用到navigationController.pushViewController(),但對於新手來說,有時候此函數不起作用,是因爲我們的A和B應當被嵌入/裝入進我們的Navigation controller。 否則,如果只是單純在A和B之間添加這樣的跳轉,是不起作用的。

 

解決辦法是,在我們的sceneDelegate.swift裏,改變window?.rootViewController =  UINavigationController(rootViewController: LoginController())

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {  

        guard let windowScene = (scene as? UIWindowScene) else { return }

        window = UIWindow(frame: windowScene.coordinateSpace.bounds)

        window?.windowScene = windowScene

       // 原本是window?.rootViewController =   LoginController()

        window?.rootViewController =  UINavigationController(rootViewController: LoginController())

        window?.makeKeyAndVisible()

    }

這樣,我們就能實現多個頁面之間根據事件響應而導致的跳轉了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章