我需要一个导航控制器来完成我的项目,我的应用程序最初有一个社交登录。验证身份验证后,用户将被推送到另一个视图,在那里我显示一个带有2个选项卡的tabbarcontroller。
我不知道如何在Swift编程中执行此操作。我已经在导航控制器中嵌入了我的viewcontroller,一旦认证成功,我如何将用户推送到tabbar视图?标签栏也应该有导航。
答案 0 :(得分:3)
我想将您的想法复制到我通常在以下示例中执行的操作。
这就是我的故事板的样子:
正如您所看到的,登录/注册和标签栏与任何类型的Segue都没有关联。
此处登录导航控制器设置为初始控制器。
为此导航控制器分配故事板ID(例如 LoginNavigation ):
使用Tab Bar Controller执行相同的操作,指定Storyboard ID(例如 HomeTabBar )
现在,您只需在Login Nav和Tab Bar之间随机播放应用程序的Root View Controller。
因此,如果用户成功登录,请使用以下代码将应用程序的根视图更改为 HomeTabBar :
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let home: UITabBarController = storyboard.instantiateViewControllerWithIdentifier("HomeTabBar") as! UITabBarController
appDelegate.window?.rootViewController = home
当用户登录时,再次将根视图更改为登录导航:
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