从mapView.annotations访问MKAnnotationView

时间:2015-08-04 06:59:06

标签: ios mkmapview mapkit mkannotationview

尝试动画我的自定义图片图片。

但是我找不到访问MKAnnotationView的方法。

例如,当您使用

时,此任务很简单
func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!) {

}

正如你在那里看到的那样。

但是我希望能够为我放大的区域设置一组引脚的动画。

使用注释的内置mapView属性,我可以获得我需要的引脚。

所以

    func findThePins(searchName:String) {

    var foundItems = [Client]()

    for aPin in mapView.annotations as! [Client] {

        if aPin.clientName.uppercaseString.rangeOfString(searchName.uppercaseString) != nil {
            foundItems.append(aPin)
        }
    }

    if !foundItems.isEmpty {
        println("move map - \(foundItems.count)")
        // moves to show the area of the screen containing the pins
        mapView.showAnnotations(foundItems, animated: true)
        // How to animate those pins in foundItems
    }
}

如何访问视图,以便我可以设置动画。我有一种感觉我会以错误的方式回合。

可在didSelectAnnotationView

中正常运行的示例动画
UIView.animateWithDuration(1.0, delay: 0.0, options: nil, animations: { () -> Void in
pinView.transform = CGAffineTransformMakeScale(2.0, 2.0)
}, completion: { (completed) -> Void in
pinView.transform = CGAffineTransformIdentity
})

由于

1 个答案:

答案 0 :(得分:1)

解决了问题!

let clientAnnotation = self.mapView.viewForAnnotation(client)