2012-01-18 33 views
2

我想在與委託方法每個條柱的頂部顯示標籤:核心劇情,這需要很長的時間,以顯示每個條柱的頂部上的標籤

-(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; 
} 

在該情況下這是我的項目帶來這個問題,我直接插入此代碼片段從 here下載CPTTestApp-iPhone項目的CPTTestAppBarChartController.m文件。
但它仍然需要大約2分鐘來顯示標籤。我怎樣才能讓它顯示更快?
謝謝。

回答

0

多少數據你策劃?如果它很多(100分),您可能只想爲可見點創建標籤。當新數據移動到可見範圍內時,使用-reloadDataInIndexRange:方法重新加載數據以加載新標籤。

您還可以創建文本樣式後,保存在一個靜態局部變量或伊娃,而不是創建每個標籤一個新的。如果你有很多標籤,這將節省一點時間。

P.S.請務必使用[CPTMutableTextStyle textStyle]而不是[CPTTextStyle textStyle]來創建文本樣式。

+0

非常感謝。但是,它並不適合我。也許它與我繪製的數據量無關。我的CPTGraphHostingView是UIScrollView的子視圖。你知道嗎,如果我滾動一下scrollView,文本標籤就會立刻出現!這是奇怪... – Linc 2012-01-19 03:29:43

+0

所以...我添加[self.myScrollView setContentOffset:CGPointMake(35.0f,0.0F)動畫:是],將viewDidAppear塊,當然所有的標籤,馬上出現了!但我仍然不知道地球上發生了什麼...... – Linc 2012-01-19 03:53:06