Dies sollte ein einfacher sein, im Grunde habe ich ein paar Pfade mit Kerngrafiken gezeichnet, und ich möchte sie drehen (für die Bequemlichkeit). Ich habe versucht, CGContextRotateCTM (Kontext) zu verwenden; aber es rotiert nichts. Fehle ich etwas?Core Graphics Rotieren eines Pfades
Hier ist die Quelle für drawRect
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 1.5);
CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextSetShadow(context, CGSizeMake(0, 1), 0);
CGContextBeginPath(context);
CGContextMoveToPoint(context, 13.5, 13.5);
CGContextAddLineToPoint(context, 30.5, 13.5);
CGContextAddLineToPoint(context, 30.5, 30.5);
CGContextAddLineToPoint(context, 13.5, 30.5);
CGContextAddLineToPoint(context, 13.5, 13.5);
CGContextClosePath(context);
CGContextMoveToPoint(context, 26.2, 13.5);
CGContextAddLineToPoint(context, 26.2, 17.8);
CGContextAddLineToPoint(context, 30.5, 17.8);
CGContextMoveToPoint(context, 17.8, 13.5);
CGContextAddLineToPoint(context, 17.8, 17.8);
CGContextAddLineToPoint(context, 13.5, 17.8);
CGContextMoveToPoint(context, 13.5, 26.2);
CGContextAddLineToPoint(context, 17.8, 26.2);
CGContextAddLineToPoint(context, 17.8, 30.5);
CGContextStrokePath(context);
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 0, [UIColor clearColor].CGColor);
CGContextFillRect(context, CGRectMake(26.2, 13.5, 4.3, 4.3));
CGContextFillRect(context, CGRectMake(13.5, 13.5, 4.3, 4.3));
CGContextFillRect(context, CGRectMake(13.5, 26.2, 4.3, 4.3));
CGContextRotateCTM(context, M_PI/4);
}
Können Sie Quellcode hinzufügen? Der CGContextRotateCTM (Kontext) ist die korrekte Funktion, aber es ist schwierig zu sehen, ob Sie einen Fehler in Ihrem Code haben, wenn Sie keinen enthalten! –
Ich aktualisierte meinen ursprünglichen Beitrag, um die Quelle einzuschließen, jede mögliche Hilfe würde sehr geschätzt werden! –