Hello stackoverflow研究员!
请考虑iOS中的UI工作流程: 一个主视图控制器和其他几个视图控制器从那里分支出来:
mainviewcontroller
+ - viewcontroller 1
+ - viewcontroller 2
+ - viewcontroller 3
等
我希望能够从主视图控制器切换回切换回其他视图控制器之一,并切换BETWEEN其他视图控制器。 我所知道的所有iOS模式似乎都存在问题:
如果我可以制作,那么UITabbarController将是正确的选择
tabbar消失 - 它不适合设计。我能够隐藏
条形图,但是视图控制器屏幕不会自己调整大小
整件事感觉很乱。
UINavigationController的设计顺序为 屏幕,滑入动画也不适合设计
模态视图控制器也用于顺序,另外我必须保留 跟踪堆栈中有多少个viewcontrollers。还有一个 解雇视图控制器并立即解决时间问题 提出下一个。
我想在视图控制器中切换视图我猜,但是 viewcontrollers有各种各样的子任务。我最终会 一个巨大的viewcontroller和许多嵌入的方法 不同意见。
我的问题: 以我想要的任何顺序管理一堆视图控制器的最佳方法是什么?
感谢您的帮助!
答案 0 :(得分:0)
我会有一个主UIViewController
。那个人会引用其他三个UIViewControllers
。然后,您可以在主UIViewController
:
[self.view addSubview:view1.view];
这样可行,但我不建议你这样做,因为这不是自然的做法。正如苹果所述:
您不应该使用视图控制器来管理仅填充的视图 他们的窗口的一部分 - 也就是说,只是由其定义的区域的一部分 应用内容矩形。如果你想拥有一个界面 由几个较小的视图组成,将它们全部嵌入到一个根中 使用视图控制器查看和管理该视图。
答案 1 :(得分:0)
好的,我的解决方案并不完美,但似乎有效: 创建一个UINavigationController。 使用viewcontrollers:方法根据自己的喜好添加一堆viewcontrollers。 在viewcontrollers之间切换时,重建堆栈并重新连接。
问题:您只能使用导航控制器动画(滑入/滑出)。 但您可以禁用navigationcontrollers动画,获取下一个viewcontrollers视图,使用UIView动画为其设置动画,然后通过堆栈构建切换到视图控制器本身,如上所述。
真的很不完美,但有效。