我正在写一个相当复杂的iPad应用程序 - 我的第一个更大的应用程序。
这个应用程序有一些自定义UIViews,提供相当复杂的数据,包括一个表。这些视图不占用整个屏幕,并且可以(并且可能会)在屏幕上随时存在许多视图(尽管只有一个视图处于显示该表的“扩展”状态)。
这是一个应该传达基本原则的基本示例:
请注意,这些东西不应该在popovers中;相反,FamilyViews展开以显示其详细数据。 (还请注意,这个模型只是为了这个问题而创建的,与我的界面看起来没什么关系;我知道这不是很好的屏幕设计)
我不确定将这些自定义视图作为委托和数据源的对象:
我倾向于为他们自己的表制作这些“FamilyViews”委托和数据源中的每一个。对这些表的操作必须耦合到FamilyView的委托(ViewController),但这不应该是一个问题,是吗?
任何人都对此有一些意见?
答案 0 :(得分:6)
视图应该知道如何自己绘制和布置子视图,具体取决于它们的属性,就是这样。
你绝对应该让控制器类成为委托而不是视图本身。
但是,委托控制器不必是显示视图的视图控制器。它可以很容易地成为一个完全独立的控制器类,只知道如何处理视图所需的内容。