ios - 如何使用 Swift (IOS) 实现可拖动的 MKPointAnnotation?

标签 ios swift

我是 ios 新手,我需要使用 swift 在 MKMapView 中实现可拖动的 MKPointAnnotation。我需要一个例子。我现在实现了 MKMapView 并在 map 中添加了一个 MKPointAnnotation (addAnnotation)。

我的英语不好,请帮助我!

我找到了这个 link ,但我没看懂。

最佳答案

您必须创建一个派生自 MKMapView 的自定义类。此类必须实现 MKMapViewDelegate 协议(protocol)。

然后您需要 2 个步骤:创建注释对象并为该注释创建一个 View 。

创建注释:

代码中的某处,取决于您的需要:

let annotation = MKPointAnnotation()
annotation.setCoordinate(location)  // your location here
annotation.title = "My Title"
annotation.subtitle = "My Subtitle"

self.mapView.addAnnotation(annotation)

创建注解 View

func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! {
    if annotation is MKPointAnnotation {
        let pinAnnotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "myPin")

        pinAnnotationView.pinColor = .Purple
        pinAnnotationView.draggable = true
        pinAnnotationView.canShowCallout = true
        pinAnnotationView.animatesDrop = true

        return pinAnnotationView
    }

    return nil
}

关于ios - 如何使用 Swift (IOS) 实现可拖动的 MKPointAnnotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26228621/

相关文章:

ios - 为什么初始化为 `weak` 在 Swift 中返回 `nil`?

ios - 如何在 swift 3.0 中使用自定义 UI 创建标签栏

memory - Swift 中的这个 "Do.. While"循环有什么问题?

ios - 现在无法以编程方式在 Facebook 上共享文本 IOS

ios - 在 Swift 中使用 iOS AWS SDK 检查 Amazon S3 文件的元数据

ios - 字符串的长度作为字符串的扩展

ios - 无法将 String 类型的值分配给 UILabel 类型

ios - UIImage实际尺寸size

ios - 对象C:在CommonCrypto中,如果CCCrypt()不使用选项kCCOptionPKCS7Padding,则结果缓冲区为空

ios - 阻止 UISearchBarController 显示 UINavigationBar