当前可见视图控制器是否可以突破现有视图层次结构并替换为另一个视图层次结构?

时间:2014-11-05 19:25:29

标签: ios uiviewcontroller

这是关于从一个控制器到另一个控制器的非平凡过渡的问题。

我有一个团队列表屏幕,其中有加号按钮(+),当按模块方式点击时会打开导航控制器,其根屏幕Create Team Stage 1跟随Create Team Stage 2

Team List -(modal presentation)-> NavigationController -(push)-> CreateTeam1 -(push)-> CreateTeam2

点击Team List中的N队后,也可以进入Team N Details屏幕:

TeamList -(push)-> Team N

我要求在team N上创建新的CreateTeam2之后,应该有Team N Details屏幕显示模式,这样看起来就好像我们会从团队列表屏幕(当然还有导航栏和<按钮)。

目标是创建演示文稿:Create2 -(???)-> Team N,以便将新创建的Team N Details屏幕移动到另一个层次结构,就像它从团队列表中显示为旧的现有团队一样。

是否有可能实现这种转变?

P.S。我已经使用dismiss / pop完成了转换:Create Team 2 -(dismiss/pop)-> Team List,但看起来我们通过闪烁Team N Details转到Team List屏幕,这在用户体验方面看起来很糟糕。

1 个答案:

答案 0 :(得分:0)

最后,我能够实现这种转变:

鉴于我有自定义segue:Push segue in xcode with no animation我执行以下一系列步骤:

  • 在我的CreateTeam2上创建了团队
  • 我确实没有动画:TeamList -(push-no-animation)-> TeamN(这不会影响当前屏幕上的当前CreateTeam2屏幕,但结果是Team N成为该视图层次结构中的顶部
  • CreateTeam2[CreateTeam1 dismissOrPopViewControllerAnimated:YES]

所以看起来CreateTeam2消失并显示已存在的Team N屏幕 - 正是我需要的。