Core Animation - 如何来绘制三个圆角一个直角的矩形

跟绘制火柴人方法类似,但这里我们不需要一条条的线来绘制,有更快捷的方法:

//指定矩形大小
  CGRect rect=CGRectMake(50, 300, 100, 100);
  //设置圆角半径
    CGSize size=CGSizeMake(20, 20);
    //拿出需要设置改动的角
    UIRectCorner corners=UIRectCornerTopRight | UIRectCornerBottomRight |UIRectCornerBottomLeft;
     //这里是上面两步的综合,具体的操作执行
    UIBezierPath *rectPath=[UIBezierPath bezierPathWithRoundedRect:rect byRoundingCorners:corners cornerRadii:size];
    //图形子类来渲染
    CAShapeLayer *rectLayer=[CAShapeLayer layer];
    //线条颜色
    rectLayer.strokeColor=[UIColor greenColor].CGColor;
    //填充颜色
    rectLayer.fillColor=[UIColor orangeColor].CGColor;
    //线条宽度
    rectLayer.lineWidth=5;
    //起始结束点的样式
    rectLayer.lineJoin=kCALineJoinRound;
    //线条拐角的样式
    rectLayer.lineCap=kCALineCapRound;
    rectLayer.path=rectPath.CGPath;
    [self.view.layer addSublayer:rectLayer];

代码参见火柴人代码下面的代码:https://github.com/codeliu6572/FirePeople

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodingFire

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值