2015-03-23 2 views
0

У меня есть barButtonItem и я совершаю действие от этого, чтобы показать другой ViewController (первый в иерархии), но это становится трудно, потому что если я пытаюськак представить активный UIViewController

self.dismissViewControllerAnimated(true, completion:nil) 

это заставляет меня не что viewController, что мне нужно. также, если я делаю

var navigCont = UINavigationController(rootViewController: destinationViewController) 
    navigCont.navigationBar.barTintColor = instaColor 
    navigCont.navigationBar.tintColor = UIColor.whiteColor() 
    navigCont.navigationBar.translucent = false 
    navigCont.presentViewController(destinationViewController, animated: true, completion: nil) 

он получает сообщение об ошибке, причиной

Application tried to present modally an active controller 

Так я stucked, и я не знаю, как представить мой VC право. Какие-нибудь советы?

+0

Я думаю, что нужно добавить более подробную информацию о вашей проблеме .... –

ответ

0

Ответ был просто создать SEGUE и сделать действия для этого Segue в раскадровке. Целью было создание сиквела без элемента раскадровки. На самом деле это не правильный ответ на мой вопрос, но этот способ решения помог.

How to perform Unwind segue programmatically?

0

Вы пытаетесь представить destinationViewController на контроллере навигации с rootViewController, установленным на destinationViewController. Создать новую rootViewController для вашего navigationController и попробуйте ниже код, если он работает:

var mainViewController = UIViewController(nibName: "MainViewController", bundle: nil) 
var navigCont = UINavigationController(rootViewController: mainViewController) 
navigCont.navigationBar.barTintColor = instaColor 
navigCont.navigationBar.tintColor = UIColor.whiteColor() 
navigCont.navigationBar.translucent = false 
navigCont.presentViewController(destinationViewController, animated: true, completion: nil)