如何轻轻地从地图视图中删除注释?

Gru*_*kes 5 mkmapview ios

我正在添加和删除注释到地图视图.当我删除一个它突然消失,看起来有点惊人,我宁愿它优雅地消失.

我尝试用UIView:animateWithDuration删除它:但它不是一个可动画的属性.

如果没有其他简单的解决方案,我认为我可以获取注释视图以淡化其alpha,然后从地图中删除其注释.但问题是它看起来似乎没有注释视图对其地图视图的引用?添加一个开始变得有点凌乱.是否有一些简单快速的解决方案来优雅地删除注释?

Rob*_*Rob 6

使用animateWithDuration应该工作正常.要淡化删除注释,可以:

MKAnnotationView *view = [self.mapView viewForAnnotation:annotation];

if (view) {
    [UIView animateWithDuration:0.5 delay:0.0 options:0 animations:^{
        view.alpha = 0.0;
    } completion:^(BOOL finished) {
        [self.mapView removeAnnotation:annotation];
        view.alpha = 1.0;   // remember to set alpha back to 1.0 because annotation view can be reused later
    }];
} else {
    [self.mapView removeAnnotation:annotation];
}
Run Code Online (Sandbox Code Playgroud)