Core Plot,在每个柱形柱顶部显示标签需要很长时间

时间:2012-01-18 05:24:04

标签: label core-plot

我想使用委托方法在每个条形列的顶部显示一个标签:

-(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分钟。如何让它显示得更快?
感谢。

1 个答案:

答案 0 :(得分:0)

你在绘制多少数据?如果它很多(100分),您可能只想为可见点创建标签。当新数据进入可见范围时,使用-reloadDataInIndexRange:方法重新加载数据以加载新标签。

您还可以创建一次文本样式并将其存储在静态局部变量或ivar中,而不是为每个标签创建一个新样式。如果你有很多标签,这将节省一点时间。

P.S。请务必使用[CPTMutableTextStyle textStyle]代替[CPTTextStyle textStyle]来创建文字样式。