沿着Iphone中的路径拖动

时间:2012-10-01 13:23:19

标签: iphone xcode4 core-animation core-graphics

我有一张图片。我想沿路径拖动该图像。路径可以是圆形或矩形。如果正在触摸和拖动图像,它应该只沿着路径行进,不应该离开路径。我曾尝试使用Core Graphics和Core动画,但找不到正确的方法。我在网上搜索过,但它总是显示如何沿着路径移动对象。找不到有关沿路径拖动对象的任何信息。此外,我发现它们是由Apple提供的NO方法,用于从UIBezierPath中提取点。

他们无论如何都这样做?

1 个答案:

答案 0 :(得分:0)

UIBezierPath类有一个名为- (BOOL)containsPoint:的实例方法。使用此方法和2 UIBezierPath s,您可以检查对象是否沿路径移动。

+---------+
|xxxxxxxxx|
|x+-----+x|
|x|     |x|
|x|     |x|
|x|     |x|
|x+-----+x|
|xxxxxxxxx|
+---------+

这里的技巧是使1条路径略小于第一条路径(可能是2个像素),同时确保两条路径都有一个共同的中心。您的对象现在必须行进的路径/路径将是您从调用- (BOOL)containsPoint:获得的贝塞尔路径区域的差异。

如果您的对象包含在大UIBezierPath内,而不是小对象中,那么您就知道自己处于正确的路径上。