在不使用Uinavigationcontroller的情况下管理多个Uiviewcontroller

时间:2013-05-31 07:28:08

标签: uinavigationcontroller

我正在制作一款iPad应用程序,它有许多具有非线性流量的视图控制器。我最初使用了导航控制器,但经过一段时间后,管理堆栈变得很困难(推送和弹出视图)。如果我只是在每个导航中推动视图,最终堆栈将变得太重而无法管理,这是不可取的。

所以我每次想要导航时都会遇到替换rootviewcontroller的方法

这是代码

twoViewController *twoVC = [[twoViewController alloc] init] ;
[self.navigationController setViewControllers: [NSArray arrayWithObject: twoVC]  animated: YES];

我在Firstviewcontroller中编写此代码。 twoViewController是我想用rootviewcontroller替换的viewcontroller。

问题:它是导航但现在两个ViewController完全变黑了。

请帮忙......

注意 - 我正在使用故事板

1 个答案:

答案 0 :(得分:0)

如果您遇到问题要弹出到特定的View Controller,请使用以下方法搜索并弹出特定的ViewController。

-(IBAction)mainMenu:(id)sender
{
    for (int m=0; m<([self.navigationController.viewControllers count]); m++)
    {
        if ([[self.navigationController.viewControllers objectAtIndex:m] isKindOfClass:[MainMenuViewController class]]) {
            MainMenuViewController *mainMenu=[self.navigationController.viewControllers objectAtIndex:m];
            [self.navigationController popToViewController:mainMenu animated:YES];
        }
    }
}