自定义MKAnnotation标注气泡

时间:2010-11-04 06:18:43

标签: ios objective-c iphone mkmapview mkannotation

我的申请地图页面有要求。我必须自定义Callout气泡。我需要添加一个图像,两个标签和一个具有特定高度和宽度的按钮。

我已浏览过网页,找不到解释如何自定义标注气泡的正确链接。如果你们中的任何一个遇到或了解它,请与我分享。

任何简单的例子或链接都会非常棒。

提前致谢 苏雷什

1 个答案:

答案 0 :(得分:21)

帮助您的一个例子:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{   
    MKAnnotationView *annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"loc"];

    // Button
    UIButton *button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    button.frame = CGRectMake(0, 0, 23, 23);
    annotationView.rightCalloutAccessoryView = button;

    // Image and two labels
    UIView *leftCAV = [[UIView alloc] initWithFrame:CGRectMake(0,0,23,23)];
    [leftCAV addSubview : yourImageView];
    [leftCAV addSubview : yourFirstLabel];
    [leftCAV addSubview : yourSecondLabel];
    annotationView.leftCalloutAccessoryView = leftCAV;

    annotationView.canShowCallout = YES;

    return annotationView;
}

有关更多信息,请查看以下内容:http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKAnnotationView_Class/Reference/Reference.html%23//apple_ref/occ/cl/MKAnnotationView