0
回答
MKMapView自定义pin大小不同,位置对齐问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

系统提供的pin只有红绿蓝三种,爱美的朋友都想自定义pin,可是自定义的pin有时候图片大小或图片指针的方向问题,往往在放大模式图片指针指向的终点不一样。MKAnnotationView系统有个参数可以调节, 打开头文件你会看到这样一段代码:

// By default, the center of annotation view is placed over the coordinate of the annotation.
// centerOffset is the offset in pixels from the center of the annotion view.
@property (nonatomic) CGPoint centerOffset;

现在你很清楚如何做了吧。

 

示例代码:

- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    if(![annotation isKindOfClass:[MyAnnotation class]]) // Don't mess user location
        return nil;
    MKAnnotationView *annotationView = [aMapView dequeueReusableAnnotationViewWithIdentifier:@"spot"];
    if(!annotationView)
    {
        annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"spot"];
        annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [(UIButton *)annotationView.rightCalloutAccessoryView addTarget:self action:@selector(openSpot:) forControlEvents:UIControlEventTouchUpInside];
        annotationView.enabled = YES;
        annotationView.canShowCallout = YES;
        annotationView.centerOffset = CGPointMake(7,-15);
        annotationView.calloutOffset = CGPointMake(-8,0);
    }
    // Setup annotation view
    annotationView.image = [UIImage imageNamed:@"pinYellow.png"]; // Or whatever
    return annotationView;
}


原文链接:http://blog.csdn.net/favormm/article/details/6191109
<无标签>
举报
长平狐
发帖于5年前 0回/208阅
顶部