2016-02-16 4 views
1

Привет ребята У меня есть приложение с организацией просмотра, как на картинке ниже:Открытие представления, которое не является корнем один и держать tabbarcontroller с точки зрения корня (быстрые)

Просмотров: enter image description here

Мое приложение должно открыть View B (из рисунка), когда пользователь открывает вложение (у меня есть еще один вопрос Open specific view when user opens an attachment, который я нашел для ответа на этот вопрос). Я уже делал это, моя проблема в том, что когда я открываю View B, табуляции нет.

Есть ли способ, который при открытии View B Я вижу вкладку, которая является частью корневого представления?

Update: Вот код, который я использую, чтобы открыть вид из файла 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 
} 

ответ

2

Просто увидел обновленный пост. Для того, чтобы это работало, следующее должно быть истинным:

  1. window?.rootViewController является UITabBarController контроллер
  2. Вид на 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 
} 
+0

спасибо, что работает отлично, спасибо за помощь. – JuValencia

+1

Благодарим вас за ответ! –