【发布时间】:2013-06-07 00:11:00
【问题描述】:
在 CALayer 子类内的绘图函数内绘制圆弧时遇到问题。该绘图功能的实现如下:
-(void)drawInContext:(CGContextRef)ctx
{
CGPoint center = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
CGFloat radius = MIN(center.x, center.y);
CGContextBeginPath(ctx);
CGContextAddArc(ctx, center.x, center.y, radius, DEG2RAD(0), DEG2RAD(90), YES);
CGContextSetStrokeColorWithColor(ctx, [UIColor whiteColor].CGColor);
CGContextSetLineWidth(ctx, 5);
CGContextDrawPath(ctx, kCGPathStroke);
}
这里并没有什么突破性的东西,但奇怪的是它在逆时针绘制弧线,尽管我指定它应该是顺时针的。相反,当我为 顺时针参数指定 NO 时,它会顺时针绘制圆弧。我对翻转坐标系进行了一些研究,并认为这可能是这里的问题,但我不想只是硬编码我的意思相反的 bool 参数。有关如何解决此问题的任何建议?
谢谢!
【问题讨论】:
标签: ios calayer quartz-graphics cgcontext