概念是用户点击视图中的图标,图标的副本会弹出用户的手指,他们可以拖动它直到他们抬起手指。为此,我希望以下
问题是touchMoves(和uiPanGestureRecognizer)在用户抬起手指并将其放回原位之前不会跟踪。即发生的事情是:
显然,对于UIView来识别拖拽,它似乎必须来自UIView。我试图(天真地)将触地事件发送到透明视图,但它无法正常工作。
还有其他想法吗?
非常感谢...答案 0 :(得分:1)
据我所知,除了启动拖动之外的任何视图都无法启动拖动。对于那些有权访问的人,请查看autoscroll WWDC 2010项目。它们基本上开始拖动表格单元格的视图,然后允许您将TableCell拖离桌面视图。它运作良好,可能是我将要采取的路线。
答案 1 :(得分:1)
诀窍是使用单个UIPanGestureRecognizer。将一个添加到原始“图标”(UIView)并使用它来检测初始触摸和平移的开始。当UIPanGestureRecognizer输入UIGestureRecognizerStateBegan时,创建将为拖动设置动画的视图。原始图标视图和处理程序将继续接收回调。您可以测试UIGestureRecognizerStateChanged并从原始处理程序中翻译新的移动视图。