假设我在iPhone上保存了一个图像,并且我调用的MKAnnotationDelegate
类实现了MKAnnotation
协议。
我可以使用该类在地图视图上显示注释,但无法弄清楚如何设置标注附件并放入图像。
所以我已经实现了MKMapiewDelegate
协议,并给了类UIImage
属性,并定义了
-(MKAnnotationView *) mapView:(MKMapView *)mapView
viewForAnnotation:(id<MKAnnotation>)annotation;
我已经把这两行:
annotationView.canShowCallout = YES;
[(UIImageView *)annotationView.rightCalloutAccessoryView setImage: _image];
但仍然无法弄清楚如何在那里拍摄图像。
答案 0 :(得分:1)
UIImageView *imageView = // init the image view ...
[imageView setImage:_image];
[annotationView setRightCalloutAccessoryView:imageView];
这些通常用于显示UIButton。
答案 1 :(得分:0)
这可能对您有所帮助,在以下方法实现中:
-(MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id)annotation;
{
// Initialize the MKPinAnnotationView...
UIImage *image = [UIImage imageNamed:@"imagename"];
UIImageView *imgView =[[UIImageView alloc] initWitthImage:image];
[annotationView setRighCalloutAccessoryView:imgView];
//or
[annotationView setLeftCalloutAccessoryView:imgView];
}
来自MKPinAnnotationView Class Reference上的Apple文档的内容:
rightCalloutAccessoryView 要在标准标注气泡右侧显示的视图。
的讨论强>@property (retain, nonatomic) UIView *rightCalloutAccessoryView
默认情况下,此属性设置为nil。正确的标注视图通常用于链接到有关注释的更详细信息。视图的高度应为32像素或更小。为此属性指定的常见视图是UIButton对象,其类型设置为UIButtonTypeDetailDisclosure。
如果您指定的视图也是UIControl类的后代,则可以使用地图视图的委托在轻触控件时接收通知。如果它不是从UIControl下降,则您的视图负责处理其范围内的任何触摸事件。
另请参阅leftCalloutAccessoryView
MKPinAnnotationView
属性
答案 2 :(得分:0)
您只将图像设置为RightCalloutAccessoryView,将LeftCalloutAccessoryView设置为mapview注释。 如果要将视图设置为注释而不是创建自定义注释。
尝试这个将tableview添加到注释视图link。
的示例