UIBezierPath

贝赛尔曲线是CoreGraphic的再次封装,简化了画图的步骤。它让你可以设定一个可以包含直线和曲线的路劲并且可以在你自定义的view里面渲染它。你使用这个类来为你的路劲初始化一些几何体。这路劲可以定义简单地形状,譬如矩形,椭圆,弧形,或者可以定义包含一些直线和复杂曲线分段组成的的混合的多边形,你也可以进一步使用这个类来渲染这个路劲在当前画布下。

CAShapeLayer类在它的坐标系里画一个立体的贝塞尔曲线。这个模型是混合在这个layer的内容和它的第一个子图层里。

#define degreesToRadians(x) (M_PI*(x)/180.0) //把角度转换成PI的方式
#define  PROGREESS_WIDTH 80 //圆直径
#define PROGRESS_LINE_WIDTH 4 //弧线的宽度
- (void)shapLayer{
    //使用贝赛尔曲线初始化一个path 是个圆形,参数分别是圆心、半径、开始的弧度、结束弧度、是否顺时针
    UIBezierPath *path = [UIBezierPath bezierPathWithArcCenter:CGPointMake(200,100) radius:30. startAngle:degreesToRadians(-330) endAngle:degreesToRadians(30) clockwise:YES];
    CAShapeLayer *shapLayer = [CAShapeLayer layer];
    shapLayer.path = path.CGPath;
    //透明度
    shapLayer.opacity = 0.8;
    //指定线的边缘是圆形
    shapLayer.lineCap = kCALineCapRound;
    //画线的填充颜色
    shapLayer.strokeColor = [UIColor greenColor].CGColor;
    //圆圈内的填充颜色
    shapLayer.fillColor = [UIColor redColor].CGColor;
    //画笔开始百分比
    shapLayer.strokeStart = 0.1;
    //画笔结束百分比
    shapLayer.strokeEnd = 0.99;
    //时间    //速度
    shapLayer.speed = 0.1;
    //线宽度
    shapLayer.lineWidth = 4;
    [self.view.layer addSublayer:shapLayer];
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值