1

Как вы можете видеть ниже, notificationsVC является частью TabBarController который встроен в navigationContoller (назовем его первым нКл). Затем theres segue от уведомленийVC ко второму навигационному контроллеру, который покажет messageVC.Невозможно вернуться через навигации контроллера к VC другого навигационного контроллера с помощью Swift

Там есть кнопка назад в messagesVC при нажатии на которую должен вернуться к notificationsVC

func backbutton() {   
    navigationController?.popViewControllerAnimated(true)   
} 

Теперь это, очевидно, не работает, потому что navigationController получит ближайший NC и поп VC в его стеке, но он выиграл» позвольте мне вернуться к notificationsVC.

Любая другая альтернатива ?, хотя я и пробовал это без успеха.

self.dismissViewControllerAnimated(true, completion: nil); 

enter image description here

Более детальный вид enter image description here

Также я использую JSQMessagesViewController библиотеку, чтобы показать сообщения в messagesVC, который не имеет значения, но все же стоит упомянуть. Спасибо за ваше время!

+0

'navigationController .navigationController .popViewControllerAnimated (правда)' Pop вид из NavigationController из NavigationController , –

ответ

0

Try: -

let nVC = self.navigationController?.tabBarController?.navigationController?.storyboard?.instantiateViewControllerWithIdentifier("NotificationStoryboardVC_ID") as! NotificationVC 

navigationController?.tabBarController?.navigationController?.pushViewController(nVC, animated: true) 
+0

обновил сообщение, не могли бы вы посмотреть? –

+0

NotificationStoryboardVC_ID - это то же самое, что и тот, который мы установили в инспекторе атрибутов правильно? Также pushViewController не будет принимать строку. –

+0

Мой плохой ...;), я отредактировал ответ, но, наверное, вы уже это пробовали? – Dravidian

0

Вы можете получить доступ к первой NavigationViewController, спрашивая его из TabBarViewController как в коде ниже:

tabBarController?.navigationController?.popViewControllerAnimated(true) 

Также просят навигационный контроллер от вас второй навигационный контроллер должен работать:

navigationController?.navigationController?.popViewControllerAnimated(true) 
+0

Спасибо, но оба не работают. –

0

Ваш контроллер навигации имеет только один VC, т.е. Mess agesVc. Поэтому, когда вы его всплываете, в стек навигационного контроллера нет другого VC, который может быть представлен. Ваш NotificationsVC не находится в стеке контроллера навигации.

Так что я предлагаю вам сделать, как это на спине нажатием кнопки?:?

tabBarController .selectedIndex = Index_Of_NotificationsVC

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