2014-11-29 2 views
0

У меня есть приложение, которое связывает с тем с помощью кнопки (который встроен в навигации контроллер)Сохраняя UINavigationBar на вершине, когда программно вызова SEGUE

Что все работает отлично! Я нажимаю кнопку, и представление представлено с помощью Segue Show Eg: Push. Взгляд появляется, и я вижу UINavigationBar с моим заголовком и кнопкой, чтобы уволить.

Мой вопрос: мне нужно запрограммировать этот вид снова в моем коде, однако, когда я делаю это, представление появляется без какого-либо UINavigation. Я предполагаю, что это делает это, потому что он больше не встроен в UINavigationController?

Какое лучшее решение для этого? Должен ли я программно создать UINavigationBarController? Если да, то как это будет выглядеть быстро?

Спасибо в продвинутом состоянии.

// Code below is triggered from an action (button) on UIAlertController. 
// This loads up the "Scan Barcode view" without the UINavigationBar embedded. 
let scannerViewController = self.storyboard?.instantiateViewControllerWithIdentifier("ScannerViewController") as ScannerViewController 
self.presentViewController(scannerViewController, animated: true, completion: nil) 

Когда я установить соединение с помощью интерфейса строитель от другой кнопки (расположенной в другом месте), так показывают ту же точку зрения. Он отлично работает, показывая «Сканирующий штрих-код», встроенный в контроллер навигации.

Image of interface builder

При использовании интерфейса строитель ссылки (от кнопки камеры) она работает идеально.

Image of interface builder again

+0

Вы хотите сказать, что вы собираетесь вернуться к просмотру, который имеет кнопку или вид, что кнопка показывает? – kpsharp

+0

Нет кнопки, которая могла бы привести к тому, что вы можете загрузить «Сканирование штрих-кода» с другого вида (например). Встраивается в UINavigationController. Поэтому изначально это было сделано путем связывания кнопки с навигационным контроллером в построителе интерфейса. Но вы не можете сделать это в коде правильно? – JonnoTheBonno

+0

Итак, когда он не работает? Когда вы программно пытаетесь переходить в отличие от использования IBAction кнопки? Можете ли вы показать код для обоих? – kpsharp

ответ

0

Благодаря @kpsharp решения было просто использовать

self.navigationController?.pushViewController(scannerViewController, animated: true)