2

我需要帮助实现拖放手势,我想知道您的意见以找到最佳方法。

我有一个视图控制器,右侧有一个 uitableview,左侧有一些图像视图。

我想允许用户在其中一个图像视图上拖动表格视图的每个单元格。基本上,如果未在其中一个图像视图上释放单元格,则拖放操作将失败,否则图像视图将根据拖放的单元格更改图像。

您认为实现这一目标的最佳方式是什么?

另外,当用户开始拖动时,我希望他拖动特定形状的子视图,带有图像和数据,而不是拖动半透明单元格。

谢谢,

4

1 回答 1

7

基本步骤是:

  • 将长按手势识别器添加到您的表格视图(整个视图,而不是单个单元格)
  • 当手势开始时,找到它在哪个单元格(转换点,然后用户 indexPathForRowAtPoint 来获取单元格)
  • 制作该单元格的副本,该单元格将成为拖动视图(拍摄快照,将其添加到 UIImageView 并将其添加到主视图)。或者,如果您不希望它看起来像单元格,您可以使视图看起来像您想要的那样
  • 隐藏原始单元格,使其看起来像被拖动
  • 手势更改时,根据手势的 locationInView 移动此图像视图的位置)
  • 在手势结束时,检查单元格是否在图像上方(hitTest:为此)并执行您需要的任何动画或计算。
于 2013-07-10T07:54:58.787 回答