iphone - 用户点击时更改图钉颜色

标签 iphone mapkit mkannotation mkannotationview

当用户点击添加以更改其标题和副标题时,我会将注释的颜色从红色更改为绿色。

我真的迷失了。我搜索了如何制作自定义注释引脚,好的。当用户触摸 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/

相关文章:

ios - 同一应用中的 Google Maps SDK 和 Mapkit 导致崩溃

环球银行金融电信协会2 : multiline MKPointAnnotation

苹果手机 : Custom MKAnnotationView Callouts

用于检测具有预定义接近 UDID 的信标的 iOS 范围

ios - 如何支持带有蓝牙键盘的 UIWebView 上的箭头键?

iphone - 如何将 CAGradientLayer 旋转 180 度?

ios - 为什么我的注释没有出现在我的 map View 中?

iphone - iPhone 4S 上的空 IMEI 号码

swift - 如何使用 Swift 在 mapkit 上更改未选择的注释图钉图像

ios - 通过 MKAnnotation Callout Swift 创建文本字段