我正在尝试使用下面的委托方法来绘制数据标签
-(CPTLayer *) dataLabelForPlot:(CPTPlot *)plot recordIndex:(NSUInteger)index
{
CPTTextLayer *label = [[CPTTextLayer alloc] initWithText:
[NSString stringWithFormat:@"%u", index]];
CPTMutableTextStyle *textStyle = [label.textStyle mutableCopy];
textStyle.color = [CPTPieChart defaultPieSliceColorForIndex:index];
label.textStyle=textStyle;
return label;
}
我得到的输出是这样的:
所以你可以看到差异:
我可以通过switch(index)
来实现这一点,但为什么它不能这样工作呢?
有什么建议吗?
答案 0 :(得分:2)
标签是正确的颜色 - 它是与默认颜色不匹配的饼图。其他数据源方法返回什么值?
默认颜色为:
Index RGB Color ------------------------------------------ 0 (1.0, 0.0, 0.0) Red 1 (0.0, 1.0, 0.0) Green 2 (0.0, 0.0, 1.0) Blue 3 (1.0, 1.0, 0.0) Yellow 4 (0.25, 0.5, 0.25) Dark green 5 (1.0, 0.0, 1.0) Magenta 6 (0.5, 0.5, 0.5) Gray 7 (0.25, 0.5, 0.0) Medium green 8 (0.25, 0.25, 0.25) Dark gray 9 (0.0, 1.0, 1.0) Cyan