У меня есть ViewController, который я хочу представить, когда push-уведомление открывается из заблокированного экрана. Контроллер вид встроен в цепь контроллеров просмотреть, цепь:Swift Навигация к ViewController thats 3 windows deep
TabbedBarController (корень) -> NavigationController0 -> ViewController0 -> ViewController1 -> ViewControllerIWant
У меня есть две переменные из уведомлений I нажимной нужно передать в ViewControllerIWant
до сих пор у меня есть:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let rootVC = storyboard.instantiateViewControllerWithIdentifier("HomeVC") as! UITabBarController // HomeVC is the TabbedBarController
let NaviVC = storyboard.instantiateViewControllerWithIdentifier("NavigationController0") as! UINavigationController // NavigationController0 is the Navigation Controller for this stack
let ViewController0 = storyBoard.instantiateViewControllerWithIdentifier("ViewController0") as ViewController0
let ViewController1 = storyBoard.instantiateViewControllerWithIdentifier("ViewController1") as ViewController1
let ViewControllerIWant = storyBoard.instantiateViewControllerWithIdentifier("ViewControllerIWant") as ViewControllerIWant
// Pass the Variables into ViewControllerIWant
ViewControllerIWant.Variable0 = "This is the first Variable"
ViewControllerIWant.Variable1 = "this is the second variable"
// Load the VC
self.presentViewController(ViewControllerIWant, animated:true, completion:nil)
я могу загрузить ViewControllerIWant напрямую, а затем потерять навигации и вкладка CONTROLL поэтому, двигаясь назад, вы должны закрыть приложение и перезагрузить. Как я могу вставить VC, чтобы пользователь, просматривая это уведомление, загружал ViewControllerIWant?
Настройка всех VCs с помощью 'present' и' push', в случае необходимости, передавая 'animated: false'. (Используйте 'true' для представления/нажатия' ViewControllerIWant'.) –
просто установите свойство viewControllers на вашем контроллере навигации в свой массив из 3 vc's – CSmith