现在的位置: 首页 > 综合 > 正文

使用CAShaper实现圆的填充

2017年12月09日 ⁄ 综合 ⁄ 共 883字 ⁄ 字号 评论关闭

首先创建一个圆形的shaperlayer

circleLayer = [CAShapeLayer
layer];

   
circleLayer
.frame =
CGRectMake
(100,
120
, 64, 64);

    circleLayer.backgroundColor = [UIColor
clearColor].CGColor

    ;

    circleLayer.fillColor = [UIColor
greenColor].CGColor;

    circleLayer.lineWidth =
2;

    circleLayer.lineCap
kCALineCapRound;

    circleLayer.strokeStart =
0.0;

    circleLayer.strokeEnd =
1.0;

   UIBezierPath *path =  [UIBezierPath
bezierPathWithArcCenter:CGPointMake(32,
32)
radius:30
startAngle:4.0/10*M_PI
endAngle:6.0/10*M_PI
clockwise:YES];

   
circleLayer
.path = path.CGPath;

    

    [self.view.layer
addSublayer:circleLayer];


使用定时器填充,实际上是逐渐扩大圆形的角度

-(void) fill

{

    startEngle -=
1;

   
endEngle
+= 1;

    UIBezierPath *path =  [UIBezierPath
bezierPathWithArcCenter:CGPointMake(32,
32)
radius:30
startAngle:startEngle/10*
M_PI
endAngle:endEngle/10*M_PI
clockwise:YES];

   

   
circleLayer
.path = path.CGPath;

    if (endEngle -
startEngle >= 20)

    {

        [timer
setFireDate:[NSDate
distantFuture]];

    }

}

抱歉!评论已关闭.