Я довольно новичок в Quartz 2D.Кварц 2D Вращение пути
Представьте себе следующий сценарий:
У вас есть мини-вид карты окружность-образную форму. Я рисую треугольник (дуга сейчас не важна) поверх карты. Эта форма представляет видимую область.
Мне нужно, чтобы форма треугольника вращалась вдоль мини-карты, когда пользователь меняет ориентацию.
В настоящее время это, как путь втягивается:
CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians);
CGPath visibleAreaPath = CGPathCreateMutable();
CGPathMoveToPoint(visibleAreaPath, &transform, miniMapCenter.x, miniMapCenter.y);
CGPathAddLineToPoint(visibleAreaPath, &transform, 18.0, 8.0);
CGPathAddLineToPoint(visibleAreaPath, &transform, 66.0, 8.0);
CGPathCloseSubpath(visibleAreaPath);
Я тогда нарисовать путь с помощью CAShapeLayer как так:
CALayer *rootLayer = [visibleAreaView layer];
visibleAreaShape = [CAShapeLayer layer];
[visibleAreaShape setFillColor:[UIColor colorWithHue:0.584 saturation:0.8 brightness:0.9 alpha:0.6].CGColor];
[visibleAreaShape setFillRule:kCAFillRuleNonZero];
[visibleAreaShape setAnchorPoint:CGPointMake(0.5, 0.5)];
[rootLayer addSublayer:visibleAreaShape];
[visibleAreaShape setPath:visibleAreaPath];
Путь вращается, но не на основе заданной происхождение. Имейте в виду, что установка точки привязки слоя не помогает мне, так что я хочу, чтобы повернуть путь (в конечном счете, я даже не нужно будет отображать его, так как я буду использовать его, чтобы определить, какие точки видны на мини-карта).
Любые идеи о том, как это сделать? Спасибо.
Вы имеете в виду, что путь всегда вращается под тем же углом относительно надзора? Другими словами, вращения не являются накопительными? – TechZen