2012-02-13 19 views
2

sliceWasSelectedAtRecordIndex:メソッドがコアプロットで呼び出されたときに円グラフのスライスカラーと同じUILabelオブジェクトの色を設定するにはどうすればよいですか?この方法でグラデーションカラーでスライスを塗りつぶしています。Objective C Core Plot:円グラフの凡例

-(CPTFill *)sliceFillForPieChart:(CPTPieChart *)pieChart recordIndex:(NSUInteger)index 
{ 
    sectorColour=[[[CPTFill alloc]init]autorelease];//creating a sector color object 
    if (index == 0) { 
      //creating cptcolor 
      CPTColor *areaColor1 = [CPTColor colorWithComponentRed:0.0 
       green:0.7 
       blue:1.0 
       alpha:1.0]; 
      CPTColor *areaColor2 = [CPTColor colorWithComponentRed:0.0 
       green:0.1 
       blue:0.2 
       alpha:1.0]; 
      UIColor *color1=[UIColor colorWithRed:0.0 green:0.7 blue:1.0 alpha:1.0]; 
      UIColor *color2=[UIColor colorWithRed:0.0 green:0.1 blue:0.2 alpha:1.0]; 

      //filling with gradient color with CPTColor 
      CPTGradient *areaGradientUI = [CPTGradient gradientWithBeginningColor:(CPTColor *)color1 endingColor:(CPTColor *)color2]; 
      sectorColour=[CPTFill fillWithGradient:areaGradientUI]; 
    } 
} 

答えて

0

CPTColorオブジェクトではなく、UIColor Sを使用してCPTGradientしてください。

CPTGradient *areaGradientUI = [CPTGradient gradientWithBeginningColor:areaColor1 
                  endingColor:areaColor2]; 

あなたは、単一のUIColorUILabelbackgroundColorを設定することができます。バックグラウンドグラデーションを描画するカスタムサブクラスを作成せずに、グラデーションでどのように行うのかよく分かりません。

関連する問題