用手指画一条线,并按照它做一个UIView

时间:2011-09-18 18:11:12

标签: objective-c uiview ios4 core-graphics

好的,我有一个View,首先,我希望一旦用户触摸View(在这种情况下是一个矩形)并开始拖动一条线,应该按照手指的路径绘制。后来,当我调用一个特定的方法时,我希望View遵循该行,当然该行也会消失。

我想要画线:

  1. 向视图添加UIPanGestureRecognizer,然后AddLineToContext,然后绘制它。
  2. 使用touchesBegan等方法。但后来,我有多个视图,我需要找出用户触摸的是哪一个。 (玩得开心,会有1到15个......)
  3. 我仍然不知道另一件事。

1 个答案:

答案 0 :(得分:1)

为了绘制路径,您走在正确的轨道上。我会从你拥有的两个选项中使用手势识别器。

要使矩形跟随路径,我能想到的最简单的方法是为每个通过槽的点保留一个x和y数组(不要忘记删除连续的重复项)。

所以,既然你有一个描述路径形状的点数组,你可以启动一个计时器,或者更好地使用CADisplayLink,它将矩形的位置设置为数组中的每个点。这将使矩形跟随路径。

如果您希望矩形也遵循方向,则需要使用vectors来描述矩形应该朝向的方向。

首先,您需要使用以下方法计算矩形位置与下一个位置之间的距离: distance formula 然后,当你知道距离时,你可以使用arcsine来获得方向角。然后只需用该值旋转矩形。

小心角度表示(pi与度数)和坐标系统。