画圆圈和设置渐变色

  
   _height = self.frame.size.height;
   _width = self.frame.size.width;

   //圆心
   self.circleCenter = CGPointMake(_width/2.0, _height/2.0);

   //线条宽度
  CGFloat lineWidth = 10.0;

 //半径 
  self.outerCircleRadius = (_width-lineWidth)/2;
 

   CAShapeLayer *outCircle = [CAShapeLayer new];

    outCircle.path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(0,0) radius:self.outerCircleRadius startAngle:(0.75*M_PI) endAngle:(0.25*M_PI) clockwise:YES].CGPath;

    outCircle.strokeColor = [UIColor colorWithHexString:@"008000"].CGColor;

    outCircle.fillColor = [UIColor clearColor].CGColor;  //这里不设为clearColor,渐变色就不会显示为圆圈

    outCircle.lineWidth = lineWidth;

    outCircle.position = self.circleCenter;

    [self.layer addSublayer:outCircle];





    CALayer *gradientLayer = [CALayer layer];

    CAGradientLayer *gradientLayerLeft =  [CAGradientLayer layer];

    gradientLayerLeft.frame = CGRectMake(0, 0, self.frame.size.width/2, self.frame.size.height);

    [gradientLayerLeft setColors:[NSArray arrayWithObjects:(id)[UIColor colorWithHexString:@"008000"].CGColor,(id)[[UIColor orangeColor] CGColor], nil]];

    [gradientLayerLeft setLocations:@[@0.15,@.85]];

    [gradientLayerLeft setStartPoint:CGPointMake(0.5, 1)];

    [gradientLayerLeft setEndPoint:CGPointMake(0.5, 0)];

    [gradientLayer addSublayer:gradientLayerLeft];

    

    CAGradientLayer *gradientLayerRight =  [CAGradientLayer layer];

    [gradientLayerRight setLocations:@[@.15,@.85]];

    gradientLayerRight.frame = CGRectMake(self.frame.size.width/2, 0, self.frame.size.width/2, self.frame.size.height);

    [gradientLayerRight setColors:[NSArray arrayWithObjects:(id)[[UIColor orangeColor] CGColor],(id)[[UIColor redColor] CGColor], nil]];

    [gradientLayerRight setStartPoint:CGPointMake(0.5, 0)];

    [gradientLayerRight setEndPoint:CGPointMake(0.5, 1)];

    [gradientLayer addSublayer:gradientLayerRight];

    
    [gradientLayer setMask:outCircle]; //用outCircle来截取渐变层

    [self.layer addSublayer:gradientLayer];

猜你喜欢

转载自www.cnblogs.com/kimiyo/p/11579737.html