【发布时间】:2017-03-25 14:23:45
【问题描述】:
我目前正在Swift 中编写一个函数来删除地图中的所有注释。
我想在它们被移除时添加淡出效果,所以我想到了以下论点:
遍历所有注释
通过动画将每个注释的 alpha 更改为 0
一切完成后 - 从地图中删除注释。
到目前为止,我的代码已经更改了每个标记的 alpha,但我不知道如何在其他所有操作完成后调用负责删除标记的函数。
我有两个功能:
func removeMarkersFromMap(){
self.array.removeAll()
let annotationsToRemove = mapView.annotations.filter { $0 !== mapView.userLocation }
for annotation in annotationsToRemove {
let pinView = mapView.view(for: annotation)
UIView.animate(withDuration: 2, delay: 0, options: UIViewAnimationOptions.curveEaseOut, animations: {
pinView?.alpha = 0.0
}, completion: { (finished: Bool) -> Void in
print("removed single pin")
})
}
}
和:
func removeCompletelyAnnotations(){
let annotationsToRemove = mapView.annotations.filter { $0 !== mapView.userLocation }
self.mapView.removeAnnotations( annotationsToRemove )
}
第一个函数内的循环完成后如何调用第二个函数?
【问题讨论】:
标签: swift swift3 android-mapview mkannotation