如果我有一个带有2个子视图控制器(vcA和vcB)的navigationController的故事板,其中vcA被设置为navigationController的根视图控制器,故事板segue将vcA连接到vcB(vcA和vcB显示 alternate 查看同一对象的方法)。
这是一个合理的设计模式(如果是这样,我该怎么做)在应用程序启动时根据用户首选项更改导航堆栈中子viewControllers的顺序。如果用户更喜欢以vcB中显示的方式查看对象,我可以以某种方式覆盖故事板中的顺序,并在应用启动时使vcB成为navigationController的根viewController。因此,如果用户首选项是“vcB视图”,则navigationControllers顺序为navigationController - > vcB< - > vcA与normal的比较,其中navigationController的顺序是navigationController - > vcA< - > VCB。
理想情况下,我希望继续使用故事板来帮助导航栏按钮配置等
如果无法做到或建议这样做,在app启动时有条件地向用户显示不同的navigationController子viewController的建议方法是什么。
{{3}}
答案 0 :(得分:0)
你应该可以这样做:
1)除了图像中显示的segue之外,还要创建另一个从navController到vcB的Push segue,以及从vcA到vcB的另一个Push sugue。
2)使用performSegue(withIdentifier:“segue_name”,sender:self)在开始时有条件地加载vcA或vcB。
3)在vcA和vcB中使用performSegue根据相同的条件相互转换。