gpt4 book ai didi

iOS 在两个导航 Controller 之间切换

转载 作者:IT王子 更新时间:2023-10-29 05:19:31 25 4
gpt4 key购买 nike

在我的应用程序中,如果用户未登录,它会显示一个嵌入在导航 Controller 中的登录 Controller 。当用户登录时,应用程序应切换到另一个导航 Controller 以显示应用程序。

当用户登录时,如何从一个导航 Controller 切换到另一个导航 Controller 。 ?

谢谢

enter image description here

我正在检查用户是否登录了应用委托(delegate):

 // Check if user is log
let currentUser = PFUser.currentUser()
if currentUser != nil {
// Do stuff with the user
} else {
// Show the signup or login screen
let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nav = mainStoryboardIpad.instantiateViewControllerWithIdentifier("LogInController") as! UINavigationController
self.window?.rootViewController = nav
}

解决方案:看起来可行
当用户按下登录按钮时:

let mainStoryboardIpad : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let nav = mainStoryboardIpad.instantiateViewControllerWithIdentifier("MainNavController") as! UINavigationController
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.window?.rootViewController = nav

最佳答案

解决方案一

一种解决方案是只使用一个导航 Controller 。当用户登录时,您将弹出所有用于登录的 View Controller 并将主视图 Controller 压入堆栈。

解决方案2

或者,您可以在登录内容之上以模态方式呈现一个新的导航 Controller ,并将主 Controller 作为其根。它会简单地显示在它上面。

解决方案3

您也可以考虑先用主视图 Controller 创建导航 Controller ,然后在其上显示登录导航 Controller 。然后,当用户登录时,您只需关闭登录导航 Controller 即可显示主视图 Controller 。

关于iOS 在两个导航 Controller 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33661332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com