2013-12-10 23 views
1

我有一個SChartLineSeries,當我選擇一個點時,selectedPointStyle似乎並沒有得到應用。Shinobi Charts選定的點高亮

這裏是我的代碼:

-(SChartSeries*)sChart:(ShinobiChart *)chart seriesAtIndex:(NSInteger)index { 
    SChartLineSeries* lineSeries = [[SChartLineSeries alloc] init]; 

    lineSeries.selectionMode = SChartSelectionPoint; 

    SChartLineSeriesStyle *style = [SChartLineSeriesStyle new]; 
    style.pointStyle = [SChartPointStyle new]; 
    style.pointStyle.showPoints = YES; 
    style.pointStyle.color = [UIColor whiteColor]; 
    style.pointStyle.radius = [NSNumber numberWithInt:5]; 
    //style.pointStyle.innerRadius = [NSNumber numberWithFloat:0.0]; 
    style.selectedPointStyle.color = [UIColor orangeColor]; 
    style.selectedPointStyle.radius = [NSNumber numberWithInt:15]; 

    [lineSeries setStyle:style]; 
    //[lineSeries setSelectedStyle:style]; 
} 

請幫助。我們正處於緊縮時期。另外,如果我必須自定義以顯示虛線,Shinobi中可以這樣做嗎?

回答

3

問題是,您正在嘗試在selectedPointStyle屬性(默認爲nil)上設置屬性。與爲pointStyle屬性創建新的SChartPointStyle對象的方式相同,您需要爲selectedPointStyle屬性創建一個對象。

更新你的代碼下面,你應該觀察選擇效果你後:

- (SChartSeries*)sChart:(ShinobiChart *)chart seriesAtIndex:(NSInteger)index { 
    SChartLineSeries* lineSeries = [[SChartLineSeries alloc] init]; 

    lineSeries.selectionMode = SChartSelectionPoint; 

    SChartLineSeriesStyle *style = [SChartLineSeriesStyle new]; 
    style.pointStyle = [SChartPointStyle new]; 
    style.pointStyle.showPoints = YES; 
    style.pointStyle.color = [UIColor whiteColor]; 
    style.pointStyle.radius = @(5); 

    style.selectedPointStyle = [SChartPointStyle new]; 
    style.selectedPointStyle.showPoints = YES; 
    style.selectedPointStyle.color = [UIColor orangeColor]; 
    style.selectedPointStyle.radius = @(15); 

    [lineSeries setStyle:style]; 
    return lineSeries; 
} 

在回答您的其他問題,虛線目前不支持作爲ShinobiCharts的一部分。

+0

工作很好,非常感謝。另一個問題,我有兩個系列,我如何在同時選擇的兩個系列上分數?基本上,我的圖表有兩個y值共享相同的x值,我將它們表示爲兩個系列。我想爲給定的X值顯示兩個點。 –

+0

太好了。您應該將第二個問題作爲新問題發佈,以便其他人日後可以更輕鬆地找到問題。如果你接受這個答案,那麼其他人會意識到它的工作原理:) – sammyd

+0

我和你所說的Sam完全一樣。問題不起作用,因爲選定的點樣式默認爲零,需要初始化。 –