0

我正在制作一个同时具有底栏和顶栏(两者都是自定义的)的应用程序,我希望它们在应用程序的整个长度内保持在那里,而中间部分在视图之间切换。但是踢球者在应用程序的某些点上,我想让顶栏和底栏滑出屏幕并能够被拖回。

我在想的是有一个主 UIViewController 和三个 UIView(顶栏、中间部分和底栏),每个 UIView 都运行各自文件中的代码。有点像标签栏如何与导航控制器一起使用。还是我倒退了?我真的不知道...但是任何建设性的建议都会有所帮助=)

我对xcode相当陌生,几天来我一直在寻找一种方法,所以请不要对我太苛刻。谢谢!

4

1 回答 1

0

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

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

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

于 2012-06-23T21:19:12.353 回答