2012-05-30 81 views
0

我想我發現了類似於問題104的錯誤問題與自定義標籤

我有一個條形圖。我的座標軸被約束固定,我在我的繪圖區使用填充,我的X軸使用自定義標籤。

這是進口以顯示最後一次吧,所以我XRANGE上的代碼末尾下面

plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat([[posicoes lastObject] floatValue]) length:CPTDecimalFromFloat(tipoEscalaGrafico*60*13)]; 

一切始於完美的作品,除了從標籤。

在打印波紋管,你可以看到這個問題

http://3.bp.blogspot.com/-BLWrnrZ1MZY/T8aMqEc3PzI/AAAAAAAAAG8/sXhIgvuuj_0/s1600/Captura+de+Tela+2012-05-30 + AS + 18.05.01.png

標籤不尊重填充。

如果我滾動曲線圖則尊重填充作爲屏幕波紋管

http://1.bp.blogspot.com/-uvFem8xERAo/T8aMmaLRl2I/AAAAAAAAAG0/DZx_UwCcmbA/s1600/Captura+de+Tela+2012-05-30 + AS + 01年5月18日+(2)png格式

+0

您是如何設置自定義標籤的? –

+0

使用此方法 –

回答

0

我有從CPTXYGraph繼承的類和我沒有下面的方法來添加自定義LABL =埃爾斯

-(void)setarLabelsEixoX:(NSArray *)labels naPosicao:(NSArray *)posicaoLabels;{ 
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)self.axisSet; 
CPTXYAxis *x   = axisSet.xAxis; 

x.labelingPolicy = CPTAxisLabelingPolicyNone; 
NSUInteger labelLocation  = 0; 
NSMutableArray *customLabels = [NSMutableArray arrayWithCapacity:[labels count]]; 
for (NSNumber *tickLocation in posicaoLabels) { 
    CPTAxisLabel *newLabel = [[CPTAxisLabel alloc] initWithText:[labels objectAtIndex:labelLocation++] textStyle:x.labelTextStyle]; 
    newLabel.tickLocation = [tickLocation decimalValue]; 
    newLabel.offset  = x.labelOffset; 
    newLabel.alignment = CPTAlignmentCenter; 
    [customLabels addObject:newLabel];   
} 

axisSet.xAxis.majorTickLocations = (NSSet*)posicaoLabels; 
x.axisLabels = [NSSet setWithArray:customLabels]; 

}

+0

「posicaoLabels」是一個數組還是一組?我不認爲你可以投一個到另一個類型。 –

0

我做了最新的酷睿情節代碼一點點測試。我沒有看到問題。您是否確認錯誤標籤的勾號位置實際上超出了繪圖範圍?您使用的是哪個版本的Core Plot?

+0

是的,正如您在印刷品上看到的那樣,值「16」的勾號位置在繪圖範圍之外,因爲我設置了一些填充左側空間。我正在使用1.0版本。你能把你的測試項目發給我嗎?所以我可以檢查看看我做錯了什麼。 –

+0

將以下語句添加到Plot Gallery應用程序中的標籤策略演示:'plotSpace.allowsUserInteraction = YES;'。我嘗試使用標籤位置,在兩端的軸範圍外啓動標籤,並按預期工作。 –