为什么'self.navigationController?.pushViewController(mainPage,animation:true)'不起作用?

时间:2019-06-20 07:29:38

标签: ios swift

我正在制作一个基本的应用程序,允许用户注册和登录,他们将被定向到启用了水平滚动和分页的主页。主视图有3个视图,您可以向左或向右滑动以转到其他页面。这是我设置根视图控制器的代码。 注意:仅当用户已登录此视图控制器时,才会显示。

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        FirebaseApp.configure()

        window = UIWindow(frame: UIScreen.main.bounds)

        let homeScreen = MainScreen()
        let navBar = UINavigationController(rootViewController: homeScreen)
        window?.rootViewController = navBar
        window?.makeKeyAndVisible()


        return true
    }
}

我希望在用户登录后显示主页,但是不会显示主页。这是用户点击登录按钮时的代码,我只给出了必要的代码:

// User found and verified, go to main page
let mainPage = MainScreen()
self.navigationController?.pushViewController(mainPage, animated: true)

pushViewController不起作用。

2 个答案:

答案 0 :(得分:0)

请确保在推送视图控制器之前,您的根视图控制器必须是导航视图控制器,否则它将无法工作。

答案 1 :(得分:0)

感谢您的回答,但我知道了。

// User found and verified, go to main page
let mainPage = MainScreen()
let navController = UINavigationController(rootViewController: mainPage)
self.present(navController, animated: true, completion: nil)