我希望做的是淡入和淡出一些自定义注释视图。为了做到这一点,我需要有指向这些视图的指针。一直在考虑在mapView:viewForAnnotation中收集这些指针。但我不知道这是否正确。
原因是由于注释视图是设置为可回收的,所以我担心一旦将注释移出屏幕,它们就会与注释分离。因此,我的想法是,在mapView:viewForAnnotation中收集的视图指针可能不可靠,因为我们不知道它们是否还在屏幕上。
希望有人能提出一个正确的方法来跟踪这些视图指针。或者建议其他一些标准或可靠的方法来淡入和退出注释视图。
最新情况:
刚刚发现viewForAnnotation确实能工作。如果注释是否在屏幕上,我实际上不需要跟踪它们(至少在本例中是这样)。
发布于 2014-01-06 02:35:01
您可以在这里进行缩放,以便将annotationViews动画化:
for (MyAnnotation *annotation in myMapView.annotations)
{
MKAnnotationView *annotationView = [myMapView viewForAnnotation:annotation];
//Do your animation to the annotationView
//Example for fadeOut - fadeIn
[UIView animateWithDuration:0.5 animations:^{
annotationView.alpha = 0.2;
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.5 animations:^{
annotationView.alpha = 1;
}];
}];
}如果您有各种类型的annotationView类型,并且只想动画的一部分,那么您需要在动画之前检查该类型。
https://stackoverflow.com/questions/20929975
复制相似问题