我正在制作一个 iOS 应用程序,用户可以在主菜单中启动该应用程序(见图)。
当用户单击 button1 时,它会触发一个 segue (1),将他带到配置向导。另一方面,单击按钮 2 会将用户带到配置列表(显示已设置的内容),这也使用了 segue (2)。这两个 View Controller 都有一个后退按钮,通过调用
将用户带回主菜单[self dismissViewControllerAnimated:YES completion:nil];
我现在正在努力实现的是一种从配置向导过渡到配置列表的方法。
当用户在向导中做出选择并按下保存按钮时,我希望这会将他直接带到配置 ListView 。同时,向导 View Controller 应该被“遗忘”,即当用户现在按下后退按钮 2 时,它仍应将他带回主菜单。这意味着我不能只从向导触发到列表的 segue,因为那样向导仍然存在,在 ListView “后面”,并且在按下后退按钮 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];
}
}
希望这对您有所帮助。
关于ios - 想要两种方式到达 View Controller ,但只有一种方式返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649292/