如果我有一个带有带有两个子viewControllers(vcA和vcB)的navigationController的情节提要,其中vcA设置为navigationController的根viewController,并且一个Storyboard segue将vcA连接到vcB(vcA和vcB显示了查看同一对象的替代方法)。

在应用程序启动时取决于用户的偏好设置来更改子视图viewController在导航堆栈中的顺序是否合理(是否可以做到)?如果用户喜欢以vcB中呈现的方式查看对象,我可以以某种方式覆盖情节提要中的顺序,并在应用启动时将vcB设置为navigationController的根viewController。因此,如果用户首选项是“ vcB视图”,则与常规情况相比,navigationControllers的顺序为navigationController-> vcB vcA,而常规情况下,navigationController的顺序为navigationController-> vcA vcB。

理想情况下,我想继续使用情节提要来帮助导航栏按钮配置等

如果这是不可能的或不建议这样做,那么在应用启动时有条件向用户显示不同的navigationController子viewController的推荐方法是什么?

ios -  swift 。 NavigationController。有条件地更改子viewControllers的顺序-LMLPHP

最佳答案

您应该可以执行以下操作:

1)除了图像中显示的序列外,从navController到vcB创建另一个Push序列,从vcA到vcB创建另一个Push序列。

2)使用performSegue(withIdentifier:“ segue_name”,发送者:self)在开始时有条件地加载vcA或vcB。

3)在相同条件下,使用vcA和vcB中的performSegue相互转换。

10-08 09:43