我正在开发的应用程序就视图的方式而言并不是很“顺序”。
例如,在以下情况下,我会选择新视图:
MatchesNavigationController -> ModalOptionsController -> ProfileViewController -> ModalOptionsController -> MatchesNavigationController -> MatchesNavigationController...
等等等等。
用英语讲,正在发生的情况是用户正在看他们的人物匹配并与用户一起出现在短信中,然后他们从工具栏中单击模式选项按钮,然后弹出一些选项,然后用户想要查看他们的个人资料。然后,他们可以从个人资料中单击一个按钮以弹出相同的模式,然后从那里可以与该人进行对话,然后再次返回到他们正在查看对话的导航控制器。然后从那里他们可以再次单击选项,转到个人资料,然后重复...
但是,如果我在
ProfileViewController
上,则可以按“back”,这将通过我编写的自定义RightToLeft segue将“back”搜索到MatchesNavigationController
。因此,我可以进入其中ViewController堆栈开始变得越来越大的实例。
当我也执行此操作时(进入此周期性查找工作流),我编写了一个Custom LeftToRight脚本,因为我希望它对用户来说就像他们朝那个方向导航一样。
在这种周期性的导航方式中,我该如何清理以前的视图?
最佳答案
在prepareForSegue:
中,在进行隔离之前调用self.navigationController.popViewControllerAnimated(true)
,它将在推送下一视图控制器之前从堆栈中释放当前视图控制器。