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 パラメーターをハードコーディングしたくありませんでした。これを修正する方法について何か提案はありますか?
ありがとう!