Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将MapView中的注释链接到其调用pin_Ios_Swift_Annotations_Mkmapview_Mkannotationview - Fatal编程技术网

Ios 如何将MapView中的注释链接到其调用pin

Ios 如何将MapView中的注释链接到其调用pin,ios,swift,annotations,mkmapview,mkannotationview,Ios,Swift,Annotations,Mkmapview,Mkannotationview,Swift 4 iOS 11.x 通过学习地图视图和注释,我可以了解一些我想做的功能 我创建了一个地图视图,并用一个按钮添加了一个注释,到目前为止效果不错。我希望按钮是一个删除引脚一,所以它看起来像这样 现在,当我点击蓝色“否”条目时,我希望它删除连接的黑色pin。但是如何跟踪注释到其pin的链接。我通过按钮和附件视图收到回电。我可以查找视图的标题并找到链接,但肯定有更好的方法。您需要使用此方法func-mapView(u-mapView:MKMapView,annotationView-vi

Swift 4 iOS 11.x

通过学习地图视图和注释,我可以了解一些我想做的功能

我创建了一个地图视图,并用一个按钮添加了一个注释,到目前为止效果不错。我希望按钮是一个删除引脚一,所以它看起来像这样


现在,当我点击蓝色“否”条目时,我希望它删除连接的黑色pin。但是如何跟踪注释到其pin的链接。我通过按钮和附件视图收到回电。我可以查找视图的标题并找到链接,但肯定有更好的方法。

您需要使用此方法
func-mapView(u-mapView:MKMapView,annotationView-view:MKAnnotationView,calloutAccessoryControlTapped-control:UIControl)
of
MKMapViewDelegate

类似这样的东西

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView,
             calloutAccessoryControlTapped control: UIControl) {

    //Here you have the annotation that was selected
    let selectedAnnotation = view.annotation
    //Do whatever you need here
}

您需要使用此方法
func映射视图(\mapView:MKMapView,annotationView:MKAnnotationView,calloutAccessoryControlTapped控件:UIControl)
MKMapViewDelegate

类似这样的东西

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView,
             calloutAccessoryControlTapped control: UIControl) {

    //Here you have the annotation that was selected
    let selectedAnnotation = view.annotation
    //Do whatever you need here
}

如果你想要pin,那么视图就是AnnotationView,这就是pin本身@user3069232,那么为什么当我执行这个命令mapView.removeAnnotation((view.annotation)!)时它不会删除pin。停止按,如果我放入一个pin,它会工作,但是如果我放入多个pin,我需要选择并删除它两次?非常奇怪…只有一次,每个标注都会从MapView中删除一个标注,对吗@User3069232试图找出事件的顺序,但如果我添加了多个pin,则会出现这种情况;第一次单击按钮时,注释消失,但pin保留,第二次单击同一注释时,pin被删除。我认为它是与按钮链接,我可以创建三个引脚,点击删除每个。。。不行。但如果我再次点击删除,它们就会消失!如果你想要pin,那么视图就是AnnotationView,这就是pin本身@user3069232,那么为什么当我执行这个命令mapView.removeAnnotation((view.annotation)!)时它不会删除pin。停止按,如果我放入一个pin,它会工作,但是如果我放入多个pin,我需要选择并删除它两次?非常奇怪…只有一次,每个标注都会从MapView中删除一个标注,对吗@User3069232试图找出事件的顺序,但如果我添加了多个pin,则会出现这种情况;第一次单击按钮时,注释消失,但pin保留,第二次单击同一注释时,pin被删除。我认为它是与按钮链接,我可以创建三个引脚,点击删除每个。。。不行。但如果我再次点击删除,它们就会消失!