【发布时间】:2016-08-21 09:16:33
【问题描述】:
我的应用从视图 A 开始,所有视图都有一个带有 4 个按钮的标签栏 那让你跳到A、B、C、D
我目前拥有的是这种情况:
如果您导航到 A、B、C、D 中的任何一个,您将返回堆栈底部 上面所有的都被消灭了。
但我需要它像这张图片一样,例如这些导航发生了
1: A>1
2: B>3>7
3: C>2>5>6>8>7
4: D>9>1
现在当我从 1 移动到 B 时,我回到 7,即 B 的顶部
问题:我认为我需要多个导航控制器,对吧?我也把它放在appDelegate 的didFinishLaunchingWithOptions 函数中,如何以编程方式执行多个导航控制器?以及在 A、B 推送或加载视图控制器之间使用什么?
////////// NC
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let mainView = storyboard.instantiateViewControllerWithIdentifier("selectLocation") as! selectLocation // 1 Home
let searchView = storyboard.instantiateViewControllerWithIdentifier("2") as! Search // 1 Home
let friendsView = storyboard.instantiateViewControllerWithIdentifier("3") as! Friends // 1 Home
let meView = storyboard.instantiateViewControllerWithIdentifier("4") as! Me // 1 Home
var nav1 = UINavigationController()
nav1.viewControllers = [mainView]
nav1.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
var nav2 = UINavigationController()
nav2.viewControllers = [searchView]
nav2.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
var nav3 = UINavigationController()
nav3.viewControllers = [friendsView]
nav3.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
var nav4 = UINavigationController()
nav4.viewControllers = [meView]
nav4.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
UINavigationBar.appearance().barTintColor = UIColor(red: 176.0/255.0, green: 190.0/255.0, blue: 105.0/255.0, alpha: 1.0)
UINavigationBar.appearance().tintColor = UIColor.whiteColor()
UINavigationBar.appearance().barStyle = UIBarStyle.BlackTranslucent
self.window!.rootViewController = nav1
self.window?.makeKeyAndVisible()
////////// NC
【问题讨论】:
-
notice : - 我已经解决了这个问题,如果您需要解决方案,我将准备一个示例 github 项目并在此处链接。
-
你有没有机会获得该 GitHub 示例?
标签: ios swift uinavigationcontroller