我希望图像根据编程代码绘制的路径移动。
之前我曾问过类似的问题(https://stackoverflow.com/questions/1571182/how-to-limit-a-uiimageview-to-move-in-a-specific-path),但我发现我的问题是错误的。图像不需要是UIImageView。此外,上面给出的答案后来发现它仅适用于Mac OS X,而不适用于iPhone。
无论如何,这是我绘制简单路径的代码。
CGContextSetRGBStrokeColor(theContext, 1.0, 0.0, 1.0, 1.0);
// Draw them with a 2.0 stroke width so they are a bit more visible.
CGContextSetLineWidth(theContext, 2.0);
// Draw a bezier curve with end points s,e and control points cp1,cp2
CGPoint s = CGPointMake(30.0, 120.0);
CGPoint e = CGPointMake(300.0, 120.0);
CGPoint cp1 = CGPointMake(120.0, 30.0);
CGPoint cp2 = CGPointMake(210.0, 210.0);
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, s.x, s.y);
CGPathAddCurveToPoint(path, NULL, cp1.x, cp1.y, cp2.x, cp2.y, e.x, e.y);
CGPathAddCurveToPoint(path, NULL, cp2.x, cp1.y, cp1.x, cp2.y, s.x, s.y);
CGPathCloseSubpath(path);
CGContextSetRGBStrokeColor(theContext, 1.0f, 0.0f, 0.0f, 1.0f);
CGContextAddPath(theContext, self.path);
CGContextSetLineWidth(theContext, 1.0);
CGContextStrokePath(theContext);
其中theContext是CGContextRef。上述代码的结果将绘制一个旋转90度的“8”形状。但是,如何使图像遵循这条路径?
更新#1:很抱歉重复问题,但我想进一步询问如何根据路径进行图像旋转(即头部矢量应遵循路径的切线)。任何人都可以提出一些想法吗?
更新#2:如何动态改变路径?
答案 0 :(得分:1)
你的其他帖子的答案适用于你的情况。你必须自己从AppKit到UIKit进行翻译。