我正在创建一个iOS应用程序,用户在主菜单中启动(见图)。
当用户单击button1时,它会触发一个segue(1),将他带到配置向导。另一方面,单击button2会将用户带到配置列表(显示已设置的内容),这也使用segue(2)。这两个视图控制器都有一个后退按钮,通过调用
将用户带回主菜单[self dismissViewControllerAnimated:YES completion:nil];
我现在正在努力实现,是一种从配置向导转换到配置列表的方法。
当用户在向导中做出选择并按下保存按钮时,我希望这会将他直接带到配置列表视图。同时,向导视图控制器应该“忘记”,即当用户现在按下后退按钮2时,它仍然应该将他带回主菜单。这意味着我不能只是从向导触发列表中的segue,因为向导仍然会在列表视图“后面”,并且在按下后退按钮2时会变为可见。
有关如何顺利实施此方法的任何想法?
答案 0 :(得分:2)
您可以将配置向导中的segue添加到配置列表中。为了避免返回配置向导存储主菜单ViewController指针并说出popToViewController
API进行导航。
正在使用popToViewController
的代码示例。
NSArray * controllerArray = [[self navigationController] viewControllers];
for (UIViewController *controller in controllerArray){
//Code here.. e.g. print their titles to see the array setup;
//NSLog(@"%@",controller.title);
if ([controller.title isEqual:@"ViewTitle"]) {
[self.navigationController popToViewController:controller animated:YES];
}
}
希望这有帮助。
答案 1 :(得分:1)
在配置向导屏幕上,使用按保存
[self.navigationController pushViewController:listOfConfigurationViewController animated:YES];
目前,你的筹码是:
Main View Screen -> Configuration Wizard Screen -> List Of Configuration Screen
使用时按下配置屏幕列表中的按钮
// you will come back to Main Screen View
[self.navigationController popToRootViewControllerAnimated:YES];