可能重复:
圆到圆段碰撞
我是 iOS 开发的初学者。您知道如何使用 CoreGraphic绘制这样的图像http://www.hoodshomecenters.com/product_images/v/723/QuarterRound__65714_zoom.jpg吗?
可能重复:
圆到圆段碰撞
我是 iOS 开发的初学者。您知道如何使用 CoreGraphic绘制这样的图像http://www.hoodshomecenters.com/product_images/v/723/QuarterRound__65714_zoom.jpg吗?
这是绘制圆弧部分的代码。绘制完成后,您可以在其中绘制线条。
#include <math.h>
CGFloat radius = 100;
CGFloat starttime = M_PI/6; //1 pm = 1/6 rad
CGFloat endtime = M_PI; //6 pm = 1 rad
//draw arc
CGPoint center = CGPointMake(radius,radius);
UIBezierPath *arc = [UIBezierPath bezierPath]; //empty path
[arc moveToPoint:center];
CGPoint next;
next.x = center.x + radius * cos(starttime);
next.y = center.y + radius * sin(starttime);
[arc addLineToPoint:next]; //go one end of arc
[arc addArcWithCenter:center radius:radius startAngle:starttime endAngle:endtime clockwise:YES]; //add the arc
[arc addLineToPoint:center]; //back to center
[[UIColor yellowColor] set];
[arc fill];
您需要覆盖将用于显示此绘图的视图的 drawRect 方法。
UIBezierPath
您可以使用该方法绘制带有类的弧段bezierPathWithArcCenter:radius:startAngle:endAngle:clockwise
。看看这里
您还需要使用以下组合为线条创建路径CGContextMoveToPoint/ CGContextAddLineToPoint
stroke
最后,您通过调用路径上的方法来描边。
编辑
要绘制你可能想要剪辑的内线:这是用CGContextClip
函数完成的