我正在使用Storyboard,那么在我的AppDelegate中,手边没有导航控制器编程(到目前为止,这都是正常的)。
现在我需要启动"applicationDidEnterBackground“,我希望我的应用程序指向第一个屏幕(即popToView或popToRoot )的导航控制器。
我试着用一些方法,如:
编辑:-插入applicationDidEnterBackgoround方法
//*-- BEGIN
- (void)applicationDidEnterBackground:(UIApplication *)application
{
_mainMenuDelegate = [[UIStoryboard storyboardWithName: stb_name bundle: nil] instantiateViewControllerWithIdentifier: @ "idMainMenu"];
[[_window.rootViewController navigationController] popToViewController: _mainMenuDelegate animated: NO];或
NSArray * = viewContrlls _window.subviews;
for (int i = 0; i <[viewContrlls count], i + +)
{
id obj = [viewContrlls objectAtIndex: i];
if ([obj isKindOfClass: [MainMenu class]])
{
[[_window.rootViewController navigationController] popToViewController: obj animated: YES];
return;
}
}
} //*-- END但是第一个不触发,第二个结果行只是一个结果行,它不是MainMenu,所以不要跳到ViewController。
我的问题是:如何做到这一点,知道我正在使用的故事板?
谢谢
发布于 2013-06-16 03:26:23
试一试:
NSArray* viewControllers = [[_window.rootViewController navigationController] viewControllers];
for (int i = 0; i < [viewControllers count]; i++)
{
id obj = [viewControllers objectAtIndex: i];
if ([obj isKindOfClass: [MainMenu class]])
{
[[_window.rootViewController navigationController] popToViewController: obj
animated: YES];
return;
}
}希望它能帮到你。
https://stackoverflow.com/questions/17129151
复制相似问题