2012-01-31 84 views
1

我开发具有以下视觉结构的iOS 5的应用:视图控制器遏制VS直接视图操纵

view containment

,其中每个正方形是一个单独的视图。蓝色视图将动态创建(它们的编号,子视图,响应事件的逻辑)。我想知道哪种方法比较好:

  • 创建BlueViewController的不同实例和其添加为子视图控制器到RootViewController的或
  • 简单添加到视图层级上不同的意见,而无需创建BlueViewController类和操纵的意见直接通过rootViewController

这两种方法的优缺点是什么?

回答

1

这完全取决于他们做什么。如果它们仅仅是视图,那么你应该只是将视图添加到视图层次结构中。例如。如果他们只是显示某种信息,那么你需要的只是一个视图。如果你这样做,我仍然建议你使用一个自定义的UIView子类来处理你的黄色视图和布局。

但是,如果你发现他们每个人都需要做很多“控制器逻辑”,例如处理复杂的算法和计算,那么你应该将它们实现为控制器。

希望这是对你有所帮助:)

1

嘛,都是可能的解决方案,与利弊,以及正确的选择取决于您的应用程序的行为。

使用BlueViewControllers需要更多的代码行,但我认为这是最好的解决方案,如果你想要不同的行为,并且你喜欢有组织的方法。

另一方面,将YellowViews直接添加到rootViewController可能更容易,尤其是如果您的应用程序没有很多视图和精细的体系结构。

一般而言,我更喜欢第一种方法,因为即使您的项目在开发时不需要BlueViewController,也应该有助于未来的更新。

相关问题