Ant*_*nio 3 iphone mapkit mkannotation mkannotationview
当用户引脚添加更改其标题和副标题时,我会将注释的颜色从红色更改为绿色.
我真的迷路了.我搜索了如何制作自定义注释引脚,好的.当用户触摸引脚时,我发现了该方法的实现,didSelectAnnotationView
当我点击注释时它可以工作NSLog(@"Tap") ;
,但现在我无法更改触摸的引脚.
非常感谢大家的贡献.
再见
要设置引脚颜色,请使用MKPinAnnotationView pinColor属性.
MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] init]
pin.pinColor = MKPinAnnotationColorGreen;
Run Code Online (Sandbox Code Playgroud)
对于自定义注释图像,请设置图像属性.
UIImage *annImage = [UIImage imageNamed:@"AnnotationIcon.png"];
annView.image = annImage;
Run Code Online (Sandbox Code Playgroud)
请注意,MKPinAnnotationView animateDrop属性不适用于自定义图像.有一种方法可以复制那个动画.请参阅如何为MKAnnotationView动画下拉?
更新 所以,基本上,如果您想在被选中时从红色变为绿色,则执行此操作.
- (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;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7839 次 |
最近记录: |