aft*_*eep 5 animation mkannotation ios ios5
我的应用程序在地图上放置一个图钉,然后选择其使用动画,以便用户有一个视觉线索,可以立即读取标题/副标题.以下代码适用于iOS4和iOS5,但在iOS5中,除非我在selectAnnotation方法中将动画更改为NO,否则不会自动选择注释.
有什么想法吗?
MapAnnotations *pushpin = [[MapAnnotations alloc] initWithCoordinate:coordinate];
pushpin.title = [selectedStation valueForKey:@"name"];
pushpin.subtitle = [selectedStation valueForKey:@"address"];
[stationMap addAnnotation:pushpin];
[stationMap selectAnnotation:pushpin animated:YES];
[pushpin release]; pushpin = nil;
Run Code Online (Sandbox Code Playgroud)
小智 5
不确定为什么它之前会工作但动画可能需要创建并准备好注释视图,这在添加注释后不太可能立即生效.
你可以做的是将选择移动到didAddAnnotationViews
委托方法,该方法适用于所有iOS版本:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
for (MKAnnotationView *av in views) {
if ([av.annotation isKindOfClass:[MapAnnotations class]]) {
MapAnnotations *pushpin = (MapAnnotations *)av.annotation;
if (_this_pushpin_is_the_one_to_select) {
[mapView selectAnnotation:av.annotation animated:YES];
break; //or return;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)