我正在向 map View 添加和删除注释。当我取下一个时,它突然消失,看起来有点令人吃惊,我宁愿它优雅地消失。
我尝试使用 UIView:animateWithDuration: 删除它,但它不是可动画的属性。
如果没有其他简单的解决方案,我想我可以让注释 View 淡化它的 alpha,然后从 map 上删除它的注释。然而,问题是注释 View 似乎没有对其 map View 的引用?添加一个开始变得有点困惑。 是否有一些简单快速的解决方案可以优雅地删除注释?
最佳答案
使用 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];
}
关于ios - 如何轻轻地从 map View 中删除注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307576/