【发布时间】:2012-10-01 13:23:19
【问题描述】:
我有一张图片。我想沿着路径拖动该图像。路径可以是圆形或矩形。如果图像被触摸和拖动,它应该只沿着路径移动,而不应该离开路径。我曾尝试使用 Core Graphics 和 Core 动画,但找不到正确的方法。我在网上搜索过,但它总是显示如何沿路径移动对象。找不到有关沿路径拖动对象的任何信息。我还发现他们不是 Apple 提供的从 UIBezierPath 中提取点的方法。
他们会这样做吗?
【问题讨论】:
-
为什么这个问题被标记为Android? Core-Graphics 或 Core-Animation 均不适用于 Android。由于 API 不同,您可能无法获得与这两个平台匹配的单一答案。
-
对不起。我已经编辑过了。只是太好奇了。
-
用户是沿着相同的路径拖动还是只是在屏幕上拖动?
-
只是沿着圆形路径拖动。
-
您需要在这里进行一些自定义数学运算,以检测路径中的哪个点距离用户当前触摸的点最近,并相应地更新图像的位置。只要您将问题限制为圆形或矩形路径,这应该很容易管理。在大多数情况下,CoreAnimation 不会有帮助,因为您应该在用户手指触摸移动时不断更新和刷新图像位置。例外情况是当用户触摸移动导致最近的路径点“跳”到路径上的另一个位置时。
标签: iphone xcode4 core-animation core-graphics