0

如果我有一个带有带有 2 个子视图控制器(vcA 和 vcB)的 navigationController 的故事板,其中 vcA 设置为 navigationController 的根 viewController,并且故事板 segue 将 vcA 连接到 vcB(vcA 和 vcB 显示查看同一对象的替代方式)。

当应用程序启动时取决于用户的偏好,更改导航堆栈中子视图控制器的顺序是否是一种合理的设计模式(如果是的话,我将如何做)。如果用户更喜欢以 vcB 中呈现的方式查看对象,我是否可以在应用程序启动时以某种方式覆盖故事板中的顺序并使 vcB 成为 navigationController 的根 viewController。因此,如果用户偏好是“vcB 视图”,则 navigationControllers 的顺序是 navigationController -> vcB <-> vcA,而正常情况下 navigationController 的顺序是 navigationController -> vcA <-> vcB。

理想情况下,我想继续使用故事板来帮助导航栏按钮配置等

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

在此处输入图像描述

4

1 回答 1

0

你应该能够做到这一点:

1) 除了图像中显示的 segue 之外,创建另一个从 navController 到 vcB 的 Push segue,以及从 vcA 到 vcB 的另一个 Push sugue。

2) 使用 performSegue(withIdentifier: "segue_name", sender: self) 在开始时有条件地加载 vcA 或 vcB。

3)在vcA和vcB中使用performSegue根据相同的条件相互过渡。

于 2018-06-05T22:49:48.170 回答