2016-11-22 2 views
1

У меня есть панель поиска с кодом для поиска некоторых данных. После того, как я нажму на некоторые из них, мне нужно нажать на другой UIView.Segue с кодом

Так я использую этот

let vc=self.storyboard?.instantiateViewController(withIdentifier: "id") as! mapViewController 
self.present(vc, animated: true, completion: nil) 

Это хорошо работает, но после того, как Segue, вид не находится в контроллере narvigation, потому что это настоящее. Поэтому я хочу использовать show segue. Тогда я изменить код для

self.show(vc, sender: self) 

Когда я запускаю его, он не работает и показывает

"while an existing transition or presentation is occurring; the navigation stack will not be updated." 

Что я должен сделать, чтобы использовать шоу SEGUE здесь?

ответ

0

Используйте метод pushViewController

self.navigationController?.pushViewController(vc, animated: true) 
+0

Я пробовал это раньше, также не работает. Тот же результат – Xie

0

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

+0

Извините, я не знаю, что это значит – Xie

0

Ваш текущий ViewController также должен находиться в навигации. После этого вы можете нажать другой контроллер. Сначала установите текущий ViewController как rootViewController контроллера навигации, а затем нажмите mapViewController из текущего контроллера.

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