3

我正在使用 drawRect 方法在 UIView 中绘制一个圆圈。我正在使用以下代码来绘制它。

- (void)drawRect:(CGRect)rect
{
     CGContextRef context = UIGraphicsGetCurrentContext();
     CGContextAddArc(context, 105, 105, 55, [self convertDegreeToRadian:15.0], [self convertDegreeToRadian:345.0], 0);
     CGColorRef black = [[UIColor blackColor] CGColor];
     CGContextSetStrokeColorWithColor(context, black);
     CGContextStrokePath(context);
}

这给了我从 15 度到 345 度的曲线。所以,这条曲线是从一个点画到另一个点的。我需要得到两个边缘的点。我如何得到它?

4

1 回答 1

7

如果您要计算圆周上的一个点,这个函数应该会有所帮助。它返回一个CGPoint并接受非常不言自明的参数;圆的中心点、圆的半径和以弧度为单位的旋转角度。

- (CGPoint)pointAroundCircumferenceFromCenter:(CGPoint)center withRadius:(CGFloat)radius andAngle:(CGFloat)theta
{
    CGPoint point = CGPointZero;
    point.x = center.x + radius * cos(theta);
    point.y = center.y + radius * sin(theta);

    return point;
}
于 2013-08-08T13:42:09.013 回答