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

//指定矩形大小
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​