如何在 Swift 编程中获得基于导航的模板功能

How to get navigation based template functionality in Swift programming

我的项目需要一个导航控制器,我的应用程序最初有一个社交登录。验证身份验证后,用户将被推送到另一个视图,我在其中显示一个具有 2 个选项卡的 tabbarcontroller。

我不知道如何在 Swift 编程中做到这一点。我已经将我的 viewcontroller 嵌入到导航控制器中,一旦身份验证成功,我该如何将用户推送到标签栏视图? Tabbar 也应该有导航。

我想将您的想法复制到我通常在以下示例中所做的事情中。

我的故事板是这样的:

如您所见login/signup 并且标签栏未与任何类型的 Segue 连接。

此处登录导航控制器是初始控制器的设置。

为此导航控制器分配故事板 ID(例如LoginNavigation):

对 Tab Bar Controller 做同样的事情,分配 Storyboard ID(例如 HomeTabBar

现在,您只需在登录导航和标签栏之间切换应用程序的根视图控制器。

因此,如果用户成功登录,请使用以下代码将应用程序的根视图更改为 HomeTabBar

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let home: UITabBarController = storyboard.instantiateViewControllerWithIdentifier("HomeTabBar") as! UITabBarController
appDelegate.window?.rootViewController = home

并且当用户登录我们时,再次将根视图更改为 Login Nav:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let entryPoint:UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("LoginNavigation")
appDelegate.window?.rootViewController = entryPoint

appDelegate 在我的 constants.swift 文件中定义:

let appDelegate  = UIApplication.sharedApplication().delegate as! AppDelegate