打开一个不是根视图的视图,并保留根视图中的 tabbarcontroller (swift)
Open a View that is not the root one and keep the tabbarcontroller from the root view (swift)
大家好,我有一个应用程序,其视图组织如下图所示:
观看次数:
当用户打开附件时,我的应用程序必须打开视图 B(从图片中看)(我有另一个问题 我已经找到了这个问题的答案)。我已经这样做了,我的问题是当我打开视图 B 时,标签栏不存在。
有没有一种方法可以让我在打开视图 B 时看到作为根视图一部分的标签栏??
更新:
这是我用来从 AppDelegate.swift 文件:
打开视图的代码
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("AddComment") as! AddCommentViewController
window?.rootViewController = vc
}
刚刚看到您的更新 post。为了使其工作,必须满足以下条件:
window?.rootViewController
是一个 UITabBarController
- 标签栏中
indexOfNavigationViewControllerInTabBar
处的视图控制器是 UINavigationViewController。
如果是,则执行:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
let indexOfNavigationViewControllerInTabBar = 0 // Set yourself
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("AddComment") as! AddCommentViewController
let tabBarController = window?.rootViewController as! UITabBarController
let navigationController = tabBarController.viewControllers![indexOfNavigationViewControllerInTabBar] as! UINavigationController
navigationController.setViewControllers([vc], animated: true)
tabBarController.selectedIndex = indexOfNavigationViewControllerInTabBar
}
大家好,我有一个应用程序,其视图组织如下图所示:
观看次数:
当用户打开附件时,我的应用程序必须打开视图 B(从图片中看)(我有另一个问题
有没有一种方法可以让我在打开视图 B 时看到作为根视图一部分的标签栏??
更新: 这是我用来从 AppDelegate.swift 文件:
打开视图的代码func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("AddComment") as! AddCommentViewController
window?.rootViewController = vc
}
刚刚看到您的更新 post。为了使其工作,必须满足以下条件:
window?.rootViewController
是一个 UITabBarController- 标签栏中
indexOfNavigationViewControllerInTabBar
处的视图控制器是 UINavigationViewController。
如果是,则执行:
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
let indexOfNavigationViewControllerInTabBar = 0 // Set yourself
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("AddComment") as! AddCommentViewController
let tabBarController = window?.rootViewController as! UITabBarController
let navigationController = tabBarController.viewControllers![indexOfNavigationViewControllerInTabBar] as! UINavigationController
navigationController.setViewControllers([vc], animated: true)
tabBarController.selectedIndex = indexOfNavigationViewControllerInTabBar
}