2016-02-14 2 views
-1

Когда мой TabBarViewController получает уведомление, я хочу, чтобы он выполнял push-сегу в UserViewController.Как корневой ViewController может нажимать на несколько ViewControllers в стеке?

Каждый раз, когда он получает уведомление, я хочу, чтобы он вставлял еще один в стек.

TabBarVC -> UserVC -> UserVC -> UserVC 

Пользователь UserVC не будет вызывать никаких сегментов.

Прямо сейчас, когда я получаю уведомление, я выполняю push-сегу.

func newUserIncoming(notification:NSNotification){ 
    self.performSegueWithIdentifier(SEGUES.TabBarToUserVC, sender: self) 
} 
+0

И что мешает вам это делать? – Wain

+0

@Wain каждый раз, когда мои вызовы TabBarVC выполняются, он отключает первый UserVC – TIMEX

+0

Если у вас есть контроллер навигации в вашей иерархии, вы можете написать метод, в котором вы можете создать новый экземпляр UserVC и нажать его в своем навигационном контроллере. –

ответ

1

В вашей newUserIncoming функции, вместо выполнения этой SEGUE, вам необходимо создать новый экземпляр UserVC и нажать, что в стек, как это:

func newUserIncoming(notification:NSNotification){ 
    let userVC = UserVC() 
    // perform any setup code for userVC you may need to do 
    self.navigationController.pushViewController(userVC, animated: true) 
} 

Таким образом, вы будете держите все остальные UserVC в стеке, ниже того, что будет нажато.

+0

Спасибо. Может ли последний UserVC выполнить unindToRoot segue, чтобы вернуться к корню? – TIMEX

Смежные вопросы