MKPinAnnotationView: Are there more than three colors available?

前端 未结 9 1405

According to the Apple docs, MKPinAnnotationView\'s pin color is available in red, green and purple. Is there any way to get other colors also? I\'ve found nothing in the do

9条回答
  •  孤独总比滥情好
    2020-11-27 10:33

    I like Yonel's Answer but just a heads up, when you create a custom MKAnnotationView, you'll have to manually assign the offset. For the images Yonel provided: (you can leave out the calloutButton stuff if you don't need one of those)

    #pragma mark MKMapViewDelegate
    - (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id )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;
    }
    

提交回复
热议问题