【问题标题】:iOS View Controller Containment Parent/Child calls danceiOS View Controller Containment 父/子调用跳舞
【发布时间】:2013-01-27 00:51:52
【问题描述】:

我正在尝试制作一个与导航控制器类似的容器视图控制器。当我向堆栈添加一些东西时,我该如何处理已经存在的视图控制器?

它仍然是我的孩子,但我不希望它是视图层次结构中的视图。我是否应该在其上调用 removeFromParentViewController,并在该堆栈中保留一个单独的堆栈?所以当上面的视图弹出时,我可以检查我应该推回哪个视图才能返回到前一个视图。

或者我应该只删除它的视图,而不调用 removeFromParentViewController,然后添加另一个子控制器,并将它的视图添加到容器视图层次结构中?

基本上我该怎么处理不在屏幕上的控制器?

【问题讨论】:

    标签: ios uiviewcontroller


    【解决方案1】:

    “堆栈”只是导航控制器用来跟踪其视图控制器的数组。如果您要构建自己的,则还需要一个数组。导航控制器的工作方式,当一个控制器被推入时,该控制器被添加到数组中,如果一个被弹出,那个控制器被从数组中删除。当你进行转换时,离开屏幕的那个应该调用 removeFromParentViewController,所以它不再在层次结构中(但如果它因为另一个被推送而消失,你会把它留在你的数组中——这就是控制器知道的方式在流行音乐中回到哪个)。您应该使用 transitionFromViewController:toViewController:duration:options:animations:completion: 来完成从一个控制器到下一个控制器的转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多