好的,我有一个View,首先,我希望一旦用户触摸View(在这种情况下是一个矩形)并开始拖动一条线,应该按照手指的路径绘制。后来,当我调用一个特定的方法时,我希望View遵循该行,当然该行也会消失。
我想要画线:
UIPanGestureRecognizer
,然后AddLineToContext
,然后绘制它。touchesBegan
等方法。但后来,我有多个视图,我需要找出用户触摸的是哪一个。 (玩得开心,会有1到15个......)我仍然不知道另一件事。
答案 0 :(得分:1)
为了绘制路径,您走在正确的轨道上。我会从你拥有的两个选项中使用手势识别器。
要使矩形跟随路径,我能想到的最简单的方法是为每个通过槽的点保留一个x和y数组(不要忘记删除连续的重复项)。
所以,既然你有一个描述路径形状的点数组,你可以启动一个计时器,或者更好地使用CADisplayLink,它将矩形的位置设置为数组中的每个点。这将使矩形跟随路径。
如果您希望矩形也遵循方向,则需要使用vectors来描述矩形应该朝向的方向。
首先,您需要使用以下方法计算矩形位置与下一个位置之间的距离:
然后,当你知道距离时,你可以使用arcsine
来获得方向角。然后只需用该值旋转矩形。
小心角度表示(pi与度数)和坐标系统。