注释显示标注而不是开始拖放操作

Posted

技术标签:

【中文标题】注释显示标注而不是开始拖放操作【英文标题】:Annotation shows callout instead of starting the drag and drop action 【发布时间】:2015-03-28 09:26:48 【问题描述】:

我在 ios 8.x 上使用 Swift。我的地图(套件)上有一些带有自定义图像的注释。现在我希望用户能够使用引脚拖放。这已经有效,但是每次用户单击(并按住)注释时,都会显示标注而不是拖动动画。标注可见后,我再次单击注释,可以将其拖放到周围。

如何更改行为,以便在用户按住注释时不显示标注而是开始拖放?

谢谢

【问题讨论】:

【参考方案1】:

在你的 mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! :

    var annotView:MyAnnotationView? = mapView.dequeueReusableAnnotationViewWithIdentifier("AnnotViewIdentifier") as? MyAnnotationView

                if let trueAnnotView  = annotView
                
                    // Assegno l'annotazione
                    trueAnnotView.annotation = annotation;
                
                else
                
                    // Creo una vista se non disponibile
                    annotView = MyAnnotationView(annotation: annotation, reuseIdentifier: "AnnotViewIdentifier")
                    annotView?.canShowCallout = false
                    annotView?.draggable = true
                    annotView?.enabled = true
                
                return annotView

【讨论】:

不,这只是禁用标注。我不想禁用标注,如果用户真的想要拖放图钉,我根本不希望它显示出来 当newState等于.Starting时,可以在mapView(mapView: MKMapView, annotationView view: MKAnnotationView, didChangeDragState newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState)中改变canShowCallout属性。

以上是关于注释显示标注而不是开始拖放操作的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 MapView 注释中的标注气泡颜色?

Mapbox iOS SDK 3.1 如何使注释标注具有粘性

自定义标注视图不想出现

根据 MapKit 注释标注在视图中加载数据单击

MKPointAnnotation 在标签中显示图像

python基础自学 第二天