尝试自定义注释引脚

Posted

技术标签:

【中文标题】尝试自定义注释引脚【英文标题】:trying to customise annotation pin 【发布时间】:2013-06-20 21:05:29 【问题描述】:

我正在尝试向某些现有代码添加标注附件。 这是我的注释主要代码:

OTNVenueAnnotation *annotation = [[OTNVenueAnnotation alloc] init];
annotation.coordinate = CLLocationCoordinate2DMake(location.latitude, location.longitude);
annotation.title = [[venue objectForKey:@"name"] uppercaseString];
annotation.venue = venue;

MKPinAnnotationView* customPinView = [[MKPinAnnotationView alloc]
                                      initWithAnnotation:annotation];

UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [rightButton addTarget:self
                        action:@selector(showDetails:)
              forControlEvents:UIControlEventTouchUpInside];
        customPinView.rightCalloutAccessoryView = rightButton;   

[self.mapView addAnnotation: annotation];

构建错误是: 'MKPinAnnotationView' 没有可见的@interface 声明选择器'initWithAnnotation:'

【问题讨论】:

【参考方案1】:

方法名是initWithAnnotation:reuseIdentifier:

您需要在初始化时为您的注释视图提供一个 NSString 作为重用标识符参数。

MKPinAnnotationView *customPinView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation
                                                                     reuseIdentifier:@"identifier"];

【讨论】:

以上是关于尝试自定义注释引脚的主要内容,如果未能解决你的问题,请参考以下文章

iPhone Mapkit 将自定义图像和引脚添加到注释中

自定义当前位置注释引脚未随核心位置更新

更新注释视图时如何在自定义注释引脚中制作动画

带有默认地图视图引脚的 Swift Mapview 自定义调出视图

Swift - MKAnnotationView 地图引脚的自定义 UIView

单击时执行特定操作的自定义 MKAnnotation 引脚 - 自定义引脚未显示