Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding an accessory view button to the MKMapView call out annotation?

I've recently come across this website and I've been trying to add to my call out view a button (from a image).

The code on the websites example works just fine, but when I tried to add in the same code to my project I'm not getting the same results.

There is obviously something I've missed but I cannot seem to work this one out!

Here is my code for annotating:

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.pinColor = MKPinAnnotationColorGreen;

    UIButton *advertButton = [UIButton buttonWithType:UIButtonTypeCustom];
    advertButton.frame = CGRectMake(0, 0, 23, 23);
    advertButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    advertButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

    [advertButton setImage:[UIImage imageNamed:@"button_right.png"] forState:UIControlStateNormal];
    [advertButton addTarget:self action:@selector(showLinks:) forControlEvents:UIControlEventTouchUpInside];

    annView.rightCalloutAccessoryView = advertButton;

    annView.animatesDrop=TRUE;
    annView.canShowCallout = YES;
    annView.calloutOffset = CGPointMake(-5, 5);
    return annView;
}

Any help would be appreciated! :)

like image 834
ingh.am Avatar asked Sep 16 '09 13:09

ingh.am


1 Answers

That guy is using a custom image to imitate the detail disclosure. You can actually get the standard detail disclosure quite easily:

[UIButton buttonWithType:UIButtonTypeDetailDisclosure];
like image 115
Heath Borders Avatar answered Oct 22 '22 03:10

Heath Borders