我相信有些人可以很简单地回答并帮助我。
我在drawRect中定义了一个圆,并编写了一个代码来定义圆弧。
CGFloat width = rect.size.width-rect.origin.x;
CGFloat height = rect.size.height-rect.origin.y;
CGFloat xPos = rect.origin.x;
CGFloat yPos = rect.origin.y;
CGFloat arcStake = (width * 2) * 0.25;
CGFloat radius = height/2;
CGPoint centre = CGPointMake(xPos+width/2, yPos+height/2);
CGFloat angle = acos(arcStake/(2*radius));
CGFloat startAng = radians(180) + angle;
CGFloat endAng = radians(360) - angle;
// Define 2 CGPoints of arc
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddArc(path, NULL, centre.x, centre.y, radius, startAng, endAng, 0);
CGPathAddLineToPoint(path, NULL, xPos+width/2, yPos+height/2);
CGPathCloseSubpath(path);
我想要的是定义2个CGPoints of arc。 这是使图像更清晰的图像。
答案 0 :(得分:10)
圆角为r
且角度为a
的圆上的一个点(其中a
从圆的最右边点开始测量,具有以下坐标:
x = r*cos(a) + center.x
y = r*sin(a) + center.y