2009-11-25 28 views
-3

我希望图像根据编程代码绘制的路径移动。iPhone中的运动路径/运动指南?

我以前曾问过类似的问题(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”形状。但是,如何使图像遵循路径?

UPDATE#1:对于复制问题抱歉,但我想进一步询问如何根据路径使图像旋转(即头部矢量应该遵循路径的切线)。任何人都能提出一些想法吗

更新#2:如何使路径动态变化?

+0

这应该是对这个问题的修改,然后,不是一个全新的问题。无论如何,你都得到了很好的答案。在那个答案中,特定于Mac的东西很少。 – 2009-11-25 13:32:31

+1

http://stackoverflow.com/questions/1571182/how-to-limit-a-uiimageview-to-move-in-a-specific-path – 2010-04-26 16:24:58

+0

可能的重复[如何限制UIImageView移动到一个特定的路径?](http://stackoverflow.com/questions/1571182/how-to-limit-a-uiimageview-to-move-in-a-specific-path) – TylerH 2017-02-13 22:15:36

回答

1

您得到您的其他帖子的答案适用于您的情况。您必须自己将AppKit翻译为UIKit。