2016-12-26 6 views
0

Раньше у меня была настройка дизайна, где, когда мои пользователи получили push-уведомление, они нажимали бы на него, и я бы нашел последний навигационный контроллер, который представлялся, и нажимал некоторый контент.получить навигационный контроллер, представленный в контроллере панели таблеток

Недавно я положил все свои навигационные контроллеры внутри панели вкладок и не знаю, как найти навигационные контроллеры внутри панели вкладок, чтобы я мог нажать на нее ... это то, что у меня было до этого. .

if var window = UIApplication.shared.keyWindow?.rootViewController { 

     while window.presentedViewController != nil { 
      if let current = window.presentedViewController as? UINavigationController{ 
        window = current 
        } 
      } 
    } 

if let window = window as? UINavigationController { 
     window.pushViewController(vc, animated: true) 
    } 

Как получить эту работу, если теперь мое окно заканчивает тем, что бар контроллера вкладки вместо последнего навигационного контроллера будет представлено, как и раньше?

Благодаря

ответ

0

Понял .....

if let tabBar = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController, var window = tabBar.selectedViewController as? UINavigationController { 

     while window.presentedViewController != nil { 
      if let current = window.presentedViewController as? UINavigationController{ 
        window = current 
        } 
      } 
    } 

     window.pushViewController(vc, animated: true) 

Работает так же, как раньше ... спасибо