核心图,在每个栏的顶部显示标签需要很长时间



我想用委托方法在每个栏的顶部显示一个标签:

-(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]来创建文本样式。

最新更新