我有一个应用程序,允许用户在一个视图上选择大学,选择后,该视图将关闭并显示地图。目前,我正在使用下面的代码,但它会为所有注释设置动画。我希望现有注释不设置动画,而仅在视图关闭时为新选择的学院设置动画。

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
}

最佳答案

您可以创建一个自定义注释并向其添加一个布尔值,以检查是否之前已添加它。

class CustomPointAnnotation: MKPointAnnotation {
    var name: String!
    var exists: Bool!
}


然后在添加注释时使用CustomPointAnnotation并检查exists是否为true,然后如果不设置false则不设置动画。

关于swift - 如何仅为新删除的注释设置动画?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39356827/

10-10 19:01