我应该使用UIViewController还是UIView?制作自定义标签栏/导航控制器

时间:2012-06-23 21:11:01

标签: iphone ios uiview uiviewcontroller

我正在制作一个既有底栏又有顶栏的应用程序(两者都是自定义的),我希望它们留在应用程序的整个长度,而中间部分在视图之间切换。但是踢球者在应用程序的某些位置,我想让顶部栏和底栏滑出屏幕并能够被拖回去。

我的想法是让一个主UIViewController有三个UIViews(顶部栏,中间部分和底部栏),每个都运行来自各自文件的代码。类似于Tab栏如何与导航控制器一起使用。还是我倒退了?我真的不知道......但任何有建设性的建议都有帮助=)

我是xcode的新手,我现在一直试图找到一种方法,所以请不要对我太苛刻。谢谢!

1 个答案:

答案 0 :(得分:0)

通常,我们为每个'屏幕'内容构建一个视图控制器。因此,对您而言,基本建议是以每个“部分”都是自己的视图控制器的方式制作应用程序。这对于MVC范例尤其重要,其中您的业务逻辑应该在viewControllers中,而不是视图(只是显示和交互逻辑)。如果您只有一个视图控制器,那么通过尝试管理多个部分会使其变得复杂。

一条好的路线可能就是这样:将整个层次结构嵌入到导航控制器中,它会为您提供顶部栏。然后创建一个自定义视图控制器类,它知道如何制作底栏,并让每个节的子类都为。

副作用是为每个部分VC唯一创建底栏。如果您不希望这样,您可以探索视图控制器的“包含”。它基本上是一种用于构建类似导航控制器的组件的技术,它将某些元素长时间保留在屏幕上,同时为屏幕的较小部分交换“内容”视图控制器。这不是最简单的事情,应该仔细考虑。但是,如果您确实需要在屏幕上保持相同的实例,而其他视图控制器来来去去,则可能是正确的方法。也就是说,首先考虑另一个想法(每个部分管理它自己的底部栏)。您可以通过促进代码重用等方式来完成它。