2012-06-27 4 views
1

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

я использовал:

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [self.window makeKeyAndVisible]; 
} 

Когда я перезапустить приложение, loginAciton внутри rootViewController все еще можно назвать, но не мог представить следующий контроллер. Никаких ошибок, как ничего не произошло.

- (IBAction)loginAciton:(id)sender 
{ 
    id controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Navigation"]; 
    [self presentModalViewController:controller animated:YES]; 
} 

Почему?

PS. Мой rootViewController не является UINavigationController.

Спасибо за любые ответы.

+0

Что возвращается '[self.storyboard instantiateViewControllerWithIdentifier: @" Navigation "]'? –

+0

Можете ли вы использовать '-performSegueWithIdentifier: sender:' вместо этого? –

+1

возвращение UINavigationController. Любые различия между '-performSegueWithIdentifier: sender:' и 'presentModalViewController'? – Carina

ответ

3

Намного лучше, чтобы добавить UIApplicationExitsOnSuspend к вашему Info.plist и установить его на YES ,

0

Я понял!

если вы хотите первоначальный контроллер представления вашего видеоредактора, чтобы быть регулятор тока каждый раз, вы можете попробовать:

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    exit(EXIT_SUCCESS); 
} 
+0

Они могут отклонить ваше приложение, если вы вызываете exit(), предложение mavrick3 немного чище. – Olaf

+0

Благодарим за помощь. – Carina

0

Вы можете использовать уведомление также поместить этот код в applicationDidBecomeActive:

[[NSNotificationCenter defaultCenter] postNotificationName:@"appActivated" object:nil]; 

и добавить наблюдателя в этом текущем виде ...

[[NSNotificationCenter defaultCenter] addObserver:self 
            selector:@selector(updateView:)   
             name:@"appActivated" 
             object:nil]; 

и не забудьте удалить наблюдатель в dealloc: вашего текущего вида ...

[[NSNotificationCenter defaultCenter] removeObserver:self]; 

это может вам помочь.

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