【发布时间】:2014-11-18 12:05:01
【问题描述】:
我正在尝试编写一个具有菜单视图控制器的应用程序,该控制器带有三个按钮,每个按钮对应一个单独的视图。我们分别称这些视图为 v1、v2 和 v3。
应用程序的正常操作要求在这三个视图中随机循环,即查看 v1 的用户可以转换到 v2 或 v3。我目前正在通过调用self.performSegueWithIdentifier("mySegue", sender: self) 以模态方式展示这三个视图控制器。
我目前正在围绕这三个视图控制器进行导航,如果它们尚未在堆栈中,则以模态方式呈现它们,或者在当前视图控制器或其父级上调用 dismissViewControllerAnimated,具体取决于所需视图的层次结构是。
这样做的问题是,如果用户呈现所有三个视图,则会产生如下堆栈: menu -> v1 -> v2 -> v3,然后先导航回 v1,然后再导航回 v3。这会导致 v3 和 v2 都被解除,然后重新创建 v3,从而失去与这些视图控制器的任何先前交互。
有没有办法创建一个层次结构,在不关闭这些视图控制器的情况下仍然允许在任意两个视图之间导航?
编辑:由于自定义的限制,我正在避免使用 UITabBarController,我有某些过渡动画与我的等效“标签栏”的元素交互,这是我无法使用预先存在的类。
【问题讨论】:
-
听起来你想使用标签栏视图controller