查看控制器包含与直接视图操作

时间:2012-01-31 10:27:37

标签: iphone ios ios5 uiviewcontroller

我正在开发具有以下可视结构的iOS 5应用程序:

view containment

其中每个方块都是单独的视图。蓝色视图将动态创建(它们的数量,子视图,响应事件的逻辑)。我想知道哪种方法更好:

  • 创建BlueViewController的不同实例,并将它们作为子视图控制器添加到rootViewController或
  • 简单地向视图层次结构添加不同的视图,而无需创建BlueViewController类并通过rootViewController直接操作视图

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

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

嗯,两者都是可能的解决方案,有利有弊,正确的选择取决于你的应用程序的行为。

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

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

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