2017-02-14 27 views
2

此代碼用於初始化註釋視圖,但右側附件視圖在地圖中不可見。無法顯示快速註釋的左側附件視圖

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? { 
    var view = mapView.dequeueReusableAnnotationView(withIdentifier: "Map") 


    if view == nil { 
     view = MKAnnotationView(annotation: annotation, reuseIdentifier: "Map") 
     view?.canShowCallout = true 
     let btn = UIButton(type: .detailDisclosure) 
     view?.rightCalloutAccessoryView = btn 

    } 

    view?.annotation = annotation 
    return view 
} 

我不知道是什麼問題。

+0

您使用的是'rightCalloutAccessoryView'並請求離開 –

+0

感謝您指出。 @SachinVas –

+0

@RohitDulam當您點擊/選擇註釋時,會顯示'CalloutAccessoryView'。 –

回答

0

使用此

func mapView(mapView: MKMapView!, viewForAnnotation annotation: MKAnnotation!) -> MKAnnotationView! { 

    if annotation is MKUserLocation { 
    return nil 
} 

    let reuseId = "AddPin" 
    let pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseId) as? MKPinAnnotationView 
    if pinView == nil 
    { 
    pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId) 
    pinView!.canShowCallout = true 
    pinView!.animatesDrop = true 
    pinView!.pinColor = .Red 

    pinView!. leftCalloutAccessoryView = UIButton.buttonWithType(.DetailDisclosure) as UIButton 
    } else { 
    pinView!.annotation = annotation 
    } 
    return pinView 
    } 
+0

謝謝,但解決方案不起作用@Lalit kumar –

+0

您的銷售權是否有效 –

+0

是的銷是在地圖上顯示。 –

0

請使用此,並檢查它

let reuseAnno = "test" 

    var anno = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseAnno) 
    if anno == nil { 

     anno = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseAnno) 
     anno?.image = UIImage(named: "imagename.png") 
     anno?.canShowCallout = true 
    } 

    let customButton = UIButton(type: .DetailDisclosure) 
    customButton.addTarget(self, action: #selector(ViewController.yourFuncName), forControlEvents: .TouchUpInside) 
    anno?.rightCalloutAccessoryView = customButton 
    return anno 
+0

謝謝,但解決方案似乎沒有工作。 @Sunil Prajapathi –

+0

你想在左側或右側顯示你的detaildisclosure按鈕? –

+0

在右側。 –

相關問題