从iitableviewcell拖放到ios中的uiimage视图

时间:2013-07-01 12:52:41

标签: iphone ios objective-c

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

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

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

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

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

谢谢,

1 个答案:

答案 0 :(得分:6)

基本步骤如下:

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