我有几个弧(圆圈)我想存储在一个变量中。矩形可以像这样存储:
CGRect rect = CGRectMake(float x, float y, width, height);
它们是否有类似的方式来存储弧或路径所需的信息?
答案 0 :(得分:2)
使用UIBezierPath。
来自文档:
路径可以定义简单的形状,例如矩形,椭圆形和弧形或 他们可以定义包含混合物的复杂多边形 直线和曲线线段。
例如,您可以通过执行以下操作绘制椭圆:
- (void)drawRect:(CGRect)rect
{
UIBezierPath* path = [UIBezierPath bezierPathWithOvalInRect:rect];
[path stroke];
}
答案 1 :(得分:1)
在大多数情况下,快/轻方式是创建一个代表弧的CGPath
(另请参阅CGMutablePath
)。然后,您可以将路径绘制为CGContext
。
或者,您可以打包传递给CGContextAddArc
的参数。例如:
@interface MONArc : NSObject
@interface (nonatomic, assign, readwrite) CGFloat x;
@interface (nonatomic, assign, readwrite) CGFloat y;
@interface (nonatomic, assign, readwrite) CGFloat radius;
@interface (nonatomic, assign, readwrite) CGFloat startAngle;
@interface (nonatomic, assign, readwrite) CGFloat endAngle;
@interface (nonatomic, assign, readwrite) int clockwise;
@end
然后在NSArray
中保存一些,并在渲染时按顺序应用它们。