-1
나는 현재이 기능을 사용하여 재사용 가능한 핀을 삭제하고 있습니다 :MKPinAnnotationView 핀이 제거 될 때 열 수있는 방법
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?{
guard !(annotation is MKUserLocation) else { return nil }
let reuseId = "pin"
var pinView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseId) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
}
pinView?.pinTintColor = UIColor.orange
pinView?.canShowCallout = true
let smallSquare = CGSize(width: 30, height: 30)
let button = UIButton(frame: CGRect(origin: CGPoint.zero, size: smallSquare))
button.setTitle("Test", for: UIControlState())
button.addTarget(self, action: #selector(triggerConfirmedLocation), for: .touchUpInside)
pinView?.leftCalloutAccessoryView = button
pinView?.rightCalloutAccessoryView = button
return pinView
}
현재 사용자가 주석을 볼 수있는 핀에 활용할 수있다을; 그러나 핀을 떨어 뜨렸을 때 주석이 열려 있어야합니다.
나는이 방법을 시도 :
pinView?.isSelected = true
첫 번째 방법은 아무것도하지 않습니다 그러나
mapView.selectedAnnotations(reuse, animated: true)
합니다.
번째 방법 의 오차가'비 함수 타입의 값을 호출 할 수 없습니다'[MKAnnotation] "
설명 지점 : ** 콜 아웃 **보기를 열어 놓은 것처럼 보입니다. 주석보기 *는 핀입니다. –
http://stackoverflow.com/questions/2193843/how-to-open-call-out-mkannotationview-programmatically-iphone-mapkit – Darkwonder