TreemapKit 是 Cocoa Touch 的树形图实现。您可以在 iPhone、iPod touch 和 iPad 上显示树形图。
TreemapKit 在 MIT 许可证 下提供。
- (void)reloadData
重新加载树形图的数据。
调用此方法重新加载树形图构造所用到的所有数据,包括单元格。如果想要更改单元格的内容,实现 treemapView:updateCell:forIndex:forRect:
。
树形图单元格的基本实现。您可以通过派生子类来显示更多信息或图像。
UILabel *textLabel
用于 tremap 单元格主文本内容的标签。
UILabel *valueLabel
用于显示单元格值的标签。
NSinteger index
单元格索引。
- (id)initWithFrame:(CGRect)frame
用框架初始化单元格。
TreemapView 对象的数据源协议。
- (NSArray *)valuesForTreemapView:(TreemapView *)treemapView;
为 TreemapView 提供数据,作为 NSArray。
树或其它数据结构目前不支持。
- (TreemapViewCell *)treemapView:(TreemapView *)treemapView cellForIndex:(NSInteger)index forRect:(CGRect)rect;
返回指定位置的单元格对象。您需要创建一个TreemapViewCell并返回它。
- (float)treemapView:(TreemapView *)treemapView separatorWidthForDepth:(NSInteger)depth;
返回指定深度的分隔符宽度。如果不需要更改指定深度的宽度,返回0。默认分隔符宽度为0。
- (NSInteger)treemapView:(TreemapView *)treemapView separationPositionForDepth:(NSInteger)depth;
通常TreemapView通过计算面积来分隔两个矩形,但如果您想手动分隔两个组,则返回单元格的索引。如果不需要更改指定深度的分隔位置,返回NSIntegerMax。
TreemapView对象的代理。
- (void)treemapView:(TreemapView *)treemapView tapped:(NSInteger)index;
通知代理指定的单元格已被点击。
- (void)treemapView:(TreemapView *)treemapView updateCell:(TreemapViewCell *)cell forIndex:(NSInteger)index forRect:(CGRect)rect;
通知代理指定的单元格应该被更新。在这个方法中,您需要手动更新单元格内容。