Цель C Базовый сюжет: легенды круговой диаграммы - PullRequest
2 голосов
/ 13 февраля 2012

Как установить цвет UILabel объекта таким же, как цвет среза круговой диаграммы, когда метод sliceWasSelectedAtRecordIndex: вызывается в основном графике? Я заполняю срез градиентным цветом этим методом.

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

1 Ответ

0 голосов
/ 14 февраля 2012

Создайте CPTGradient, используя CPTColor объекты, а не UIColor s.

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

Вы можете установить backgroundColor из UILabel на один UIColor. Я не уверен, как бы вы сделали это с градиентом без создания собственного подкласса, который рисует фоновый градиент.

...