我想使用委托方法在每个条形列的顶部显示一个标签:
-(CPTLayer *)dataLabelForPlot:(CPTPlot *)plot
recordIndex:(NSUInteger)index {
CPTMutableTextStyle *textStyle = [CPTTextStyle textStyle];
textStyle.color = [CPTColor whiteColor];
textStyle.fontSize = 12.0f;
CPTTextLayer *textLayer = [[[CPTTextLayer alloc] initWithText:@"x" style:textStyle]
autorelease];
return textLayer;
}
如果是我的项目带来了这个问题,我直接将此代码段插入到从下载的CPTTestApp-iPhone项目中的CPTTestAppBarChartController.m文件中
here。
但显示标签仍需约2分钟。如何让它显示得更快?
感谢。
答案 0 :(得分:0)
你在绘制多少数据?如果它很多(100分),您可能只想为可见点创建标签。当新数据进入可见范围时,使用-reloadDataInIndexRange:
方法重新加载数据以加载新标签。
您还可以创建一次文本样式并将其存储在静态局部变量或ivar中,而不是为每个标签创建一个新样式。如果你有很多标签,这将节省一点时间。
P.S。请务必使用[CPTMutableTextStyle textStyle]
代替[CPTTextStyle textStyle]
来创建文字样式。