我的项目需要一个导航 Controller ,并且我的应用程序最初有一个社交登录。一旦验证通过,用户将被推送到另一个 View ,我在其中显示一个具有 2 个选项卡的 tabbarcontroller。
我不知道如何在 Swift 编程中做到这一点。我已将 View Controller 嵌入到导航 Controller 中,一旦身份验证成功,如何将用户推送到选项卡栏 View ?标签栏还应该有导航。
最佳答案
我想将您的想法复制到我通常在以下示例中所做的事情中。
这就是我的 Storyboard的样子:
如您所见,登录/注册和选项卡栏未与任何类型的 Segue 连接。
此处登录导航 Controller 是初始 Controller 的设置。
为该导航 Controller 分配 Storyboard ID(例如LoginNavigation):
对选项卡栏 Controller 执行相同操作,分配 Storyboard ID(例如 HomeTabBar)
现在,您只需在登录导航和选项卡栏之间移动应用程序的 Root View Controller 即可。
因此,如果用户成功登录,请使用以下代码将应用程序的 Root View 更改为 HomeTabBar:
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let home: UITabBarController = storyboard.instantiateViewControllerWithIdentifier("HomeTabBar") as! UITabBarController
appDelegate.window?.rootViewController = home
当用户登录时,再次将 Root View 更改为登录导航:
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
关于ios - 如何在 Swift 编程中获得基于导航的模板功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39159444/