我有一个应用程序,允许用户在一个视图上选择大学,并在他们选择后,该视图解散并显示地图。目前,我正在使用下面的代码,但它会动画所有注释。我希望现有的注释不会生成动画,只有在视图解散时才会为新选择的大学制作动画。
func mapView(mapView: MKMapView, viewForAnnotation annotation: MKAnnotation) -> MKAnnotationView? {
let reuseID = "pin"
var pinView = mapView.dequeueReusableAnnotationViewWithIdentifier(reuseID) as? MKPinAnnotationView
if pinView == nil {
pinView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: reuseID)
pinView?.canShowCallout = true
pinView?.rightCalloutAccessoryView = UIButton(type: .DetailDisclosure)
pinView?.animatesDrop = true
} else {
pinView?.annotation = annotation
pinView?.animatesDrop = true
}
return pinView
}
答案 0 :(得分:0)
您可以创建自定义注释并为其添加布尔值,以检查它是否已添加。
class CustomPointAnnotation: MKPointAnnotation {
var name: String!
var exists: Bool!
}
然后在添加注释时使用CustomPointAnnotation
并检查exists
是否为true
,那么如果false
动画,则不会设置动画。