绘图视图、子视图还是全部在一起?

Drawing view, subviews or all together?

我对 iOS 绘图还很陌生,我很难理解不同的策略(只有一个视图绘制所有内容,一个视图使用其他子视图,...)。

我想画这样的图:

我对如何绘制这个感到困惑:

第一个解决方案

1) 在 UnitBarView 文件中绘制我所说的 "unit bar"(例如下面的第一个红色条)。

2) 创建第二个视图 "FourUnitBarsView" 这将增加 4 个 UnitBarView。

3) 使用 "FourUnitBarsView"

在新视图中绘制图形

第二解

1) 绘制一个由四个柱组成的单元 "FourUnitBarsView" 传递一个颜色数组和一个值数组。

3) 根据需要使用尽可能多的子视图 ("FourUnitBarsView") 在新视图中绘制图形

第三个解

只使用一个视图并在其中绘制所有内容

除非你的一个大视图能够进行局部重绘,否则单独的子视图应该更有效,因为系统可以优化它的绘制,只绘制需要重绘的部分。但是,我不知道拥有大量视图是否会导致其他方面的性能开销,例如命中测试等。

总而言之,我建议您实施最快的构建方式,如果发现性能阻碍了应用程序,您可以尝试其他方法,否则听起来像是过早的优化。