0
我对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];
的路径正在旋转,而不是基于给定起源。 请记住,设置图层的锚点并不能帮助我,因为我想要的是旋转路径(最终我甚至不需要显示它,因为我将使用它来确定哪些点可见迷你地图)。
有关如何完成此任何想法? 谢谢。
你的意思是路径总是相对于superview旋转到相同的角度?换句话说,轮换不是累积的? – TechZen 2009-11-18 16:28:29