小编Jür*_* P.的帖子

didSelect for MKAnnotationView没有开火

我有麻烦在MapView上选择自定义注释.我尝试了几种方法,没有成功:

  • 使用MKMapViewDelegate的didSelect
  • 使用添加到AnnotationView的UIButton
  • 对ImageView使用UITapGestureRecognizer,它应该用于注释

您可以在下面的代码中找到所有这些方法:

override func viewDidLoad() {
    super.viewDidLoad()
    // some more initialization code

    for item in items {
        let annotation = IdentifiedMKPointAnnotation() // has only one additional property named "id"

        annotation.coordinate = CLLocationCoordinate2D(latitude: item.spots[0].latitude!, longitude: item.spots[0].longitude!)
        annotation.id = i

        self.mapView.addAnnotation(annotation)

        i += 1
    }
}


// MARK: - MapViewDelegate
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    let item = self.items[(annotation as! IdentifiedMKPointAnnotation).id!]

    let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "")
    //annotationView.canShowCallout = false
    //annotationView.isEnabled = false …
Run Code Online (Sandbox Code Playgroud)

mapkit mkmapview ios mkmapviewdelegate swift

1
推荐指数
2
解决办法
1619
查看次数

标签 统计

ios ×1

mapkit ×1

mkmapview ×1

mkmapviewdelegate ×1

swift ×1