我有一个使用UINavigation的游戏设置屏幕,我试图重置或清除UINavigation一旦一个人选择了一种颜色。如何清除或重置UINavigation历史记录?
我的应用程序的当前进程可以在下面的图中最好的描述:
Start application -> New game -> Pick character -> Pick Color -> Start game
直到“选取颜色”我用的是UINavigation,然而,当一个颜色挑选我想清除UINavigation历史。
这样做的原因是,一旦你开始游戏,你就不能回去,并且希望UINavigation在没有迹象表明你可以回去的情况下进行清理(这还包括回到屏幕main menu
)。
我现在这样做的方式就是这样;
[self.navigationController popToRootViewControllerAnimated:YES];
GameDashboardVC *dashboard = [[GameDashboardVC alloc] initWithNibName:@"GameDashboardVC" bundle:nil];
dashboard.title = @"Dashboard";
dashboard.managedObjectContext = self.managedObjectContext;
[self.navigationController pushViewController:dashboard animated:YES];
[dashboard release];
问题是,它弹出到rootViewController,但它从不会将仪表板推到堆栈上。
我已经试过:
[self.parentViewController.navigationController pushViewController....]
我没有试过是把我的仪表盘推根视图控制器本身里面,但我担心,因为我不知道如果它甚至应该是唯一那里。
因此,哪里是放这种功能的正确位置,以及如何清除UINavigation的堆栈。
谢谢你的时间/帮助。
通过你的UINavigationController viewControllers财产,扔掉你不想要的人? – onnoweb 2011-04-27 18:06:41
我会尽力表示感谢。 – zardon 2011-04-28 05:50:31