我希望我的故事板的初始视图控制器是当前的控制器

时间:2012-06-27 02:57:11

标签: iphone ios storyboard

如果应用程序以前在后台,当调用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。

感谢您的回复。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

我明白了!

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

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

答案 2 :(得分:0)

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

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

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

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

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

[[NSNotificationCenter defaultCenter] removeObserver:self];

这可能会对你有所帮助..