2016-05-07 1 views
0

В некоторых случаях я хочу, чтобы мое приложение, чтобы представить другой контроллер представления, чем та, что обычно нагрузки (в данном случае AltView, а не MainView), но я не могу понять как это сделать. Я пытался так:Отображение конкретного контроллера вид на нагрузке

let storyboard = UIStoryboard.init(name: "Alt", bundle: nil) 
let nav = storyboard.instantiateViewControllerWithIdentifier("AltView") 

let mainStoryboard = UIStoryboard.init(name: "Main", bundle: nil) 
let rootVC = mainStoryboard.instantiateViewControllerWithIdentifier("MainView") 
self.window!.rootViewController = rootVC 
window!.makeKeyAndVisible() 

self.window!.rootViewController?.presentViewController(nav, animated: true, completion: nil) 

Но ничего не происходит, экран не просто пустой, никаких ошибок или предупреждений сообщается.

EDIT: AltView - UINavigationController со встроенным UIViewController. Используется метод viewDidLoad(). Контроллер встроенного представления AltView запускается, но его метод viewWillAppear() не является.

Что я делаю неправильно?

+0

Этот код написан в didFinishLaunchingWithOptions справа ?? –

ответ

0

Просто установите регулятор окна, как этот

let mainStoryboard = UIStoryboard.init(name: "Main", bundle: nil) 
    let nav = storyboard.instantiateViewControllerWithIdentifier("AltView") 
    self.window!.rootViewController = nav 

Если и хотите, чтобы изменить контроллер изменить окно RootViewController снова с тем же кодом просто изменить идентификатор, чтобы тот, который вы хотите контроллера и вы не» t need this statement `self.window !.rootViewController? .presentViewController (nav, animated: true, completion: noil) Если у вас возникли какие-либо вопросы, дайте мне знать

+0

Это не работает для меня, потому что _MainView_ должен быть корневым контроллером, или разматывать segue и некоторые другие вещи не будут работать. И если я изменил контроллер корневого представления на _MainView_, когда появится _AltView_, представление изменится на _MainView_, которое не то, что я хочу. – TimSim

+0

Как насчет того, если вы поместите тот же контроллер навигации в mainView и нажмите altview там –

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