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。

感谢您的任何回复。

4

3 回答 3

3

更好的方法是添加UIApplicationExitsOnSuspend到您的Info.plist并将其设置为YES.

于 2012-06-29T06:53:00.973 回答
0

我得到了它 !

如果您希望故事板的初始视图控制器每次都成为当前控制器,您可以尝试一下:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
   exit(EXIT_SUCCESS);
}
于 2012-06-29T04:37:23.023 回答
0

您也可以使用通知,将此代码放入 applicationDidBecomeActive:

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

并在当前视图中添加观察者......

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

并且不要忘记删除您当前视图的dealloc:中的观察者...

[[NSNotificationCenter defaultCenter] removeObserver:self];

这可能会帮助你..

于 2012-06-29T13:34:41.283 回答