Ipad 启动触摸Moved/UIPangestureRecognitor mid move以获得新视图

Ipad 启动触摸Moved/UIPangestureRecognitor mid move以获得新视图,ipad,uiview,drag-and-drop,uigesturerecognizer,touchesmoved,Ipad,Uiview,Drag And Drop,Uigesturerecognizer,Touchesmoved,概念是,用户点击视图中的图标,图标的副本会在用户的手指下弹出,用户可以拖动图标直到抬起手指。为了做到这一点,我希望以下几点 图标有触摸事件 添加透明全屏UIView并粘贴包含图标的UIImageView 跟踪触摸移动或UIPangestureRecognitor,并移动UIImageView,直到触摸为止 问题是touchMoves(和UIPangestureRecognitor)在用户抬起手指并将其放回地面之前不会跟踪。i、 e.正在发生的是: 图标有触摸事件 添加透明全屏UIView并添加包

概念是,用户点击视图中的图标,图标的副本会在用户的手指下弹出,用户可以拖动图标直到抬起手指。为了做到这一点,我希望以下几点

  • 图标有触摸事件
  • 添加透明全屏UIView并粘贴包含图标的UIImageView
  • 跟踪触摸移动或UIPangestureRecognitor,并移动UIImageView,直到触摸为止
  • 问题是touchMoves(和UIPangestureRecognitor)在用户抬起手指并将其放回地面之前不会跟踪。i、 e.正在发生的是:

  • 图标有触摸事件
  • 添加透明全屏UIView并添加包含图标的UIImageView子视图
  • 用户拖动手指,但什么也没发生,所以他们抬起手指并再次拖动
  • 跟踪触摸移动或UIPangestureRecognitor,并移动UIImageView,直到触摸为止
  • 显然,UIView要识别阻力,它似乎必须源自UIView。我尝试(天真地)将触地事件发送到透明视图,但它不起作用

    还有其他想法吗


    非常感谢…

    据我所知,除了启动拖动的视图外,您不能使用其他视图启动拖动。对于那些有访问权限的用户,请查看autoscroll WWDC 2010项目。它们基本上是在表格单元格的视图上开始拖动,然后允许您将该表格单元格从表格视图上拖动下来。它工作得很好,可能就是我要走的路线。

    诀窍是使用一个UIPangestureRecognitor。在原始“图标”(UIView)中添加一个图标,并使用它检测初始触摸和平移的开始。当UIPanGestureRecognizer进入UIgestureRecognizerState时,开始创建将为拖动设置动画的视图。原始图标视图和处理程序将继续接收回调。您可以测试UIgestureRecognitzerStateChanged,并从原始处理程序中转换新的移动视图