UIBezierPath画圆弧的记录

来源:互联网 发布:微信公众号怎么连淘宝 编辑:程序博客网 时间:2024/04/29 05:50

UIBezierPath通过

- (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise

可以画出一段弧线。

看下各个参数的意义:

center:圆心的坐标

radius:半径

startAngle:起始的弧度

endAngle:圆弧结束的弧度

clockwise:YES为顺时针,No为逆时针

方法里面主要是理解startAngle与endAngle,刚开始我搞不清楚一段圆弧从哪算起始和终止,比如弧度为0的话,是从上下左右哪个点开始算

看了下面这张图就明了了


看出0Pi就是指圆最右边开始计算的,顺时针依次为M_PI/2,M_PI,M_PI*1.5

明白这个,用BezierPath画圆弧就简单了

比如要画上图加粗的那段就是:

UIBezierPath *path = [[UIBezierPath alloc] init];[path addArcWithCenter:center                radius:radius            startAngle:M_PI*1.1              endAngle:M_PI*1.9             clockwise:YES];


0 0