pushViewController从后台返回时

时间:2013-01-23 14:23:24

标签: ios objective-c uiviewcontroller uinavigationcontroller storyboard

当应用程序从后台返回时,我想从导航控制器中推送菜单视图控制器。

要测试 - NSString返回我的导航控制器的标题,以便它可以工作,但事实并非如此。 它总是显示视图控制器。

P.S。我使用故事板。

AppDelegate.m

- (void)applicationWillEnterForeground:(UIApplication *)application
{    

    NSString * test = self.window.rootViewController.title; // return title of navigation controller

    MenuViewController *mvc = [[MenuViewController alloc] init];
    [(UINavigationController *)self.window.rootViewController pushViewController:mvc animated:NO];
}

Download Project

1 个答案:

答案 0 :(得分:1)

您可能应该在 - (void)applicationDidBecomeActive:(UIApplication *)应用程序方法中更新您的UI。

<强>更新

此外,错误是因为在您的故事板中,您将新的ViewControllers呈现为模态,但您应该推送它们。然后您可以通过调用

返回主菜单
[(UINavigationController *)self.window.rootViewController popToRootViewControllerAnimated:NO]; 

要更改演示文稿样式,请在故事板中选择segue,选择“属性”检查器并将样式更改为“推送”。

或者,如果您更喜欢Modal演示风格,请致电

[(UINavigationController *)self.window.rootViewController dismissModalViewControllerAnimated:YES];