2015-08-16 4 views
0

Эй, я пытаюсь сделать это так, когда пользователь нажимает кнопку «Домой», а затем пытается вернуться в мое приложение, они возвращаются в контроллер начального представления. Есть ли что-нибудь, что я могу написать в делегат приложения, чтобы заставить это работать?Измените контроллер представления, когда пользователь выходит из приложения.

Я попытался вызвать эту функцию в функции applicationDidBecomeActive:

let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let VC = storyboard.instantiateViewControllerWithIdentifier("homeVC") as! UIViewController 
    self.window?.rootViewController?.presentViewController(VC, animated: true, completion: nil) 

Но я получаю сообщение об ошибке сказав мнение не в иерархии.

Любая помощь будет оценена!

ответ

2

Вы хотите реализовать метод делегата вашего приложения applicationDidBecomeActive и программно выполнить segue или отклонить текущий контроллер представления в зависимости от настройки навигации.

Возможно, пользователям не нужна форсированная навигация. Общее предположение состоит в том, что они могут возобновиться там, где они остановились.

+0

Согласовано. Если пользователь использует ваше приложение, а затем получает телефонный звонок, они автоматически будут перенесены в начало приложения и потеряют все, что они сделали. – Fogmeister

+0

Спасибо за помощь. Что именно я напишу, если захочу отобразить контроллер вида с именем «ViewController». –

+0

По-прежнему нужно знать структуру навигации. Навигационный контроллер, разделенный вид, модальный, всплывающий, пользовательский Segue или многоуровневая комбинация некоторых из вышеперечисленных? Вероятно, лучше всего разместить захват экрана всего вашего StoryBoard. – BaseZen

1

Ну, каждый раз, когда приложение закрыто, applicationDidEnterBackground в вашем AppDelegate называется. Вы можете использовать это, чтобы представить свой контроллер просмотра.