在用户拖动期间绘制橡皮筋线

时间:2010-05-31 04:48:01

标签: iphone

在我的iPhone应用程序中,我希望用户能够通过以下方式“连接”我的两个视图:

1)在视图A中开始拖动 2)当它们向视图B拖动时,一条直线在视图A中有一端而另一端在当前拖动点下方,以橡皮筋方式动画 3)当它们/如果它们在视图B中释放时,则在两个视图之间显示该行

我已经看过拖放视图的示例,以及动画的其他示例,但我还没有看到一个这种用户控制动画的简单示例。任何指向示例的指针或我应该关注的特定文档都将不胜感激。

如果事实证明这是微不足道的 - 我道歉。虽然我已经做了很多开发,但我刚刚开始使用iPhone SDK和Core Graphics。

1 个答案:

答案 0 :(得分:1)

事实证明这很简单 - 不要认为这条线属于任何一个视图,创建一个透明且不透明的第三个视图,将它放在另外两个视图的顶部。它可以全屏显示,也可以计算覆盖视图的大小和位置。检测此第三个视图中的点按,并使用核心动画显示从您开始绘制的点到线结束点的线。当行结束时,您可以检测输入是否有效并将开始/结束点放在适当的视图中。您会发现在此过程中特别有用的功能是UIView convertPoint:toView:beginAnimations:context:

如果将线条图作为专用视图的一部分并在接受时添加线条,则可能会使事情变得更容易,而不是尝试将线条记录为您与之连接的无关视图的一部分lines - 可能你想要一个包含CGFloats的数组或类似的东西,以便你可以使用drawRect:重新创建行视图。