当用户点击添加以更改其标题和副标题时,我会将注释的颜色从红色更改为绿色。
我真的迷失了。我搜索了如何制作自定义注释引脚,好的。当用户触摸 pin didSelectAnnotationView
时,我找到了该方法的实现,并且当我点击注释 NSLog(@"Tap") ;
时,它可以工作,但现在我不能更改被触摸的引脚。
非常感谢大家的贡献。
再见
最佳答案
要设置图钉颜色,请使用 MKPinAnnotationView pinColor 属性。
MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] init]
pin.pinColor = MKPinAnnotationColorGreen;
对于自定义注释图像,请设置图像属性。
UIImage *annImage = [UIImage imageNamed:@"AnnotationIcon.png"];
annView.image = annImage;
请注意 MKPinAnnotationView animateDrop 属性不适用于自定义图像。不过,有一种方法可以复制该动画。请参阅How do I animate MKAnnotationView drop?
更新 所以基本上,如果你想在被选中时从红色变为绿色,你可以这样做。
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKPinAnnotationView *)view {
view.pinColor = MKPinAnnotationColorGreen;
}
- (MKAnnotationView *)mapView:(MKMapView *)aMapView
viewForAnnotation:(id)ann {
NSString *identifier = @"myPin";
MKPinAnnotationView *annView = (MKPinAnnotationView *)
[aMapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annView == nil) {
annView= [[[MKPinAnnotationView alloc] initWithAnnotation:ann
reuseIdentifier:identifier]
autorelease];
} else {
annView.annotation = ann;
}
// you can define the properties here.
return annView;
}
关于iphone - 用户点击时更改图钉颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7108308/