【问题标题】:Drawing rubber band line during user drag在用户拖动期间绘制橡皮筋线
【发布时间】:2010-05-31 04:48:00
【问题描述】:

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

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

我见过拖放视图的示例和其他动画示例,但我还没有看到一个简单的此类用户控制动画示例。任何指向示例或我应该查看的特定文档的指针将不胜感激。

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

【问题讨论】:

    标签: iphone


    【解决方案1】:

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

    如果您将线条图保留为专用视图的一部分并在它们被接受时向其中添加线条,而不是尝试将线条记录为与您连接的不相关视图的一部分,这可能会使事情变得更容易线条 - 可能您想要一个包含 CGFloats 的数组或类似的东西,以便您可以根据需要使用drawRect: 重新创建线条视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-22
      • 2019-09-05
      • 1970-01-01
      相关资源
      最近更新 更多