我想用委托方法在每个栏的顶部显示一个标签:
-(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;
}
如果是我的项目带来了这个问题,我会直接将这个代码片段插入到从在这里
但显示标签仍然需要大约2分钟。如何使其显示速度更快
谢谢
您绘制了多少数据?如果是很多(100个点),您可能只想为可见点创建标签。当新数据移动到可见范围时,使用-reloadDataInIndexRange:
方法重新加载数据以加载新标签。
您还可以创建一次文本样式,并将其存储在静态局部变量或ivar中,而不是为每个标签创建一个新的样式。如果你有很多标签,这会节省一点时间。
p.S.请确保使用[CPTMutableTextStyle textStyle]
而不是[CPTTextStyle textStyle]
来创建文本样式。