the*_*atp 5 iphone sdk drag-and-drop mkmapview uigesturerecognizer
我已经尝试了很多东西,在这一点上发布代码可能会令人困惑,所以让我从这个概念开始.
我需要以某种方式将长按和触摸拖动的操作组合到一个操作中,例如LongPressThenDragGestureRecognizer.我试图在MKMapView上完成这个,所以我不能一直禁用用户交互,因为我想要地图的平移和缩放功能.
为了使事情复杂化,需要删除用户长按以识别交互的初始项(MKOverlay对象)并用新绘制的对象替换.此时,代码不再关心对象,仅在手指处于任何给定点的位置(我将在移动时重绘拖动的对象).
这是工作流程:
到目前为止,我已经尝试了很多东西,但收效甚微.我到目前为止的最佳结果如下所示.这是使用MKMapView对象上的UILongPressGestureRecognizer(检查与叠加的交集)完成的,然后覆盖touchesBegan以进行地图触摸拖动.
我非常接近,我只是不知道如何将手势合二为一,这样用户就不必抬起手指再次触摸以开始拖动.
任何想法都非常感谢.
如果这是一个像这样的复杂手势,我会很想完全避免使用手势识别器,并转移到 TouchesBegan、touchesMoved、touchesEnded、touchesCancelled 以及你移动的某种状态,因为手势碰巧知道你在哪里。
MKMapView 有一个 UIResponder 基类,因此应该很容易制作您自己的 MKMapView 派生版本,它响应触摸事件(记住将它们传递给超级地图以维持其正常功能)。
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |