IOS在滚动视图之间拖放

时间:2011-09-16 11:49:24

标签: ios ipad drag-and-drop gestures

所以这是抓住了。我有两个滚动视图,一个充满10个奇数子视图,基本上就像扑克牌(自定义类视图)。我希望能够将这些视图中的一些拖放到我拥有的空滚动条中。

这两个滚动视图之间有许多不同的视图。所以我想显示视图实际上是从一个视图拖动并放在另一个滚动视图中。我如何实现这一目标。

我知道我必须使用触摸,但如果有人可以举起一个简单的例子,我会很高兴。 感谢。

1 个答案:

答案 0 :(得分:7)

非常容易。 ScrollView就像任何其他视图一样,所以它基本上是将视图从一个超级视图拖放到另一个超级视图。

您的层次结构如下: 您想要将视图V从视图A拖放到视图B.这意味着当您启动D& D时,V是A的子视图,当您完成时,V是B的子视图.A和B必须具有共同的超级视图S.

步骤: 0 /您的触摸识别器必须在S上,而不是在A或B上。

1 /用户点击V.您将其从A中移除并将其添加到同一位置的S上(UIView具有将位置从视图转换为另一个视图的方法)。
2 /用户将V拖动到B.您可以在S中更改V的位置 3 /用户下降V.如果它足够接近B,则将其插入B(变换位置S-> B)并对位置之间的差异进行动画处理。如果它仍然接近A,则将其设置为A的动画。如果它位于A和B之间,您可以将其插入到最近的一个或让它停留在那里并阻止所有其他用户交互,直到用户再次点击V并将其拖入A或者B。