IOS:MKPinAnnotationView 动画放置不起作用
Posted
技术标签:
【中文标题】IOS:MKPinAnnotationView 动画放置不起作用【英文标题】:IOS: MKPinAnnotationView animated drop don't work 【发布时间】:2012-07-17 22:41:15 【问题描述】:我有这段代码可以删除并在我的地图中添加一个新图钉:
- (IBAction)setLocation:(id)sender
NSMutableArray *toRemove = [NSMutableArray arrayWithCapacity:1];
for (id annotation in map.annotations)
if (annotation != map.userLocation)
[toRemove addObject:annotation];
[map removeAnnotations:toRemove];
MKPointAnnotation *annotationPoint = [[[MKPointAnnotation alloc] init]autorelease];
annotationPoint.coordinate = map.userLocation.coordinate;
annotationPoint.title = @"Position";
[map addAnnotation:annotationPoint];
MKPinAnnotationView *pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotationPoint reuseIdentifier:@"Pin"] autorelease];
pinView.pinColor = MKPinAnnotationColorRed;
pinView.canShowCallout = YES;
//pinView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
pinView.animatesDrop = TRUE;
但是我设置了我的 pin 它不做动画但我设置了 animatesDrop = true,为什么?
【问题讨论】:
【参考方案1】:您似乎没有将 pinView 添加到地图中。
【讨论】:
不,当我调用此 IBaction pinView 时出现...那么您的解决方案是什么?【参考方案2】:我认为这可能会有所帮助。我相信您可以尝试使用MKMapViewDelegate(Apple 文档,查看 MapCallouts 示例项目)方法:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation
MKPinAnnotationView* customPinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil] autorelease];
// alter properties of the customPinView
return customPinView; // if you return nil... then the MKPinAnnotation default will be dropped.
确保在标头中添加<MKMapViewDelegate>
协议
【讨论】:
以上是关于IOS:MKPinAnnotationView 动画放置不起作用的主要内容,如果未能解决你的问题,请参考以下文章