在 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 参数。对于如何解决这个问题,有任何的建议吗?
谢谢!