在ios中以顺时针方向绘制弧线[重复]

Posted

技术标签:

【中文标题】在ios中以顺时针方向绘制弧线[重复]【英文标题】:Draw an arc in clockwise direction in ios [duplicate] 【发布时间】:2014-02-12 09:54:54 【问题描述】:

如何从零开始绘制顺时针方向的圆弧环。我需要圆弧从 0 开始,圆弧终点可以变化。如图所示

【问题讨论】:

您是否费心查看文档或进行任何研究?也许搜索“cgcontext”和“arc”这两个词?你应该可以找到CGContextAddArc() @rdurand 如果 OP 想要为圆圈设置动画,那么这个问题只是一个骗局 “如何从零开始按顺时针方向绘制圆弧环”对我来说听起来很像.. @rdurand 是的,你可能是对的。否则 OP 不会对方向和起始角度如此具体。 @DavidRönnqvist 我想知道如何从 0 开始循环,感谢您的负面支持,我知道该怎么做 CGContextAddArc(ctx, self.frame.size.width/2 , self.frame.size.height/2, 半径, -M_PI, ToRad(self.angle), 0); 【参考方案1】:

我想要的是从左侧开始一个弧线。(-180)我就是这样做的

-(void)drawRect:(CGRect)rect

[super drawRect:rect];

CGRect customRect = rect;
customRect.origin.x = 5;
customRect.origin.y = 6;
customRect.size.width = rect.size.width -10;
customRect.size.height = rect.size.height - 12;


radius = customRect.size.width/2 - ((customRect.size.width/2)*0.3);


CGContextRef ctx = UIGraphicsGetCurrentContext();

CGContextSetRGBFillColor(ctx, 1.0, 0.0, 0.0, 1.0);
CGContextFillEllipseInRect (ctx, customRect);
CGContextStrokeEllipseInRect(ctx, customRect);
CGContextFillPath(ctx);
CGContextSetRGBStrokeColor(ctx, 0.0, 0.0, 1.0, 1.0);
CGContextAddArc(ctx, self.frame.size.width/2  , self.frame.size.height/2, radius , -M_PI, ToRad(self.angle), 0);

CGContextSetLineWidth(ctx, customRect.size.width/2 - (radius + 2));
CGContextDrawPath(ctx, kCGPathStroke);

【讨论】:

以上是关于在ios中以顺时针方向绘制弧线[重复]的主要内容,如果未能解决你的问题,请参考以下文章

canvas画弧线

用svg path怎么绘制四分之一圆弧,各个参数请详细解释

SVG Path标签 A 参数

canvas入门

剑指Offer 29 - 顺时针打印矩阵

怎么用函数画出弧线?