我的应用在导航堆栈中有6个视图(视图1-> 6)。
要求是,如果用户在View 4然后关闭应用并重新打开,则应用必须显示View 4,用户可以返回View 3-> 2-> 1.
问题是我可以保存当前视图(通过UserDefault保存View索引)索引但无法保存以前的视图。如果我重新打开应用程序,之前的视图需要续订,怎么做?
请帮助我,对不起我的英语。
答案 0 :(得分:0)
基本上,最简单的方法是在用户默认值下保存当前路径,例如
app/navigation/vc1/vc2/vc3
在启动应用程序时,您需要阅读此路径,将其与组件分开,然后使用实例化的视图控制器恢复导航控制器。
答案 1 :(得分:-1)
在viewdidload之后尝试将视图1 ...插入当前索引。示例代码:
-(void)insertView:(int)currentIndex{
NSMutableArray *newControllers = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
for(int i = 0; i < currentIndex; i++){
UIViewController *vc = [[UIViewController alloc] init];
vc.view.backgroundColor = [UIColor redColor];
[newControllers insertObject:vc atIndex:0];
}
[self.navigationController setViewControllers:newControllers];
}