El button UIB como subview en MKAnnotationView no funciona

Agregué un button a mi vista de anotación y aparece correctamente. Cuando se toca el button, quiero que se realice una llamada, pero cuando toco el button, no responde (el button ni siquiera se resalta). Parece que el button no recibe el evento táctil, pero no sé por qué.

Aquí está mi código en customAnnotationView.m

- (id)initWithAnnotation:(id <MKAnnotation>)annotation reuseIdentifier:(NSString *)reuseIdentifier { NSLog(@"initWithAnnotation start"); //initialze the view self = [super initWithAnnotation:annotation reuseIdentifier:reuseIdentifier]; if (self != nil) { CGRect frame = self.frame; frame.size = CGSizeMake(60.0, 85.0); self.frame = frame; self.backgroundColor = [UIColor clearColor]; self.centerOffset = CGPointMake(30.0, 42.0); } //this has nothing to do with my question self.title=[[[NSString alloc] init] autorelease]; self.description=[[[NSString alloc] init] autorelease]; self.phoneNumber=[[[NSString alloc] init] autorelease]; customAnnotation * tempCust = (customAnnotation *)annotation; self.title=annotation.title; self.description=tempCust.description; self.phoneNumber=tempCust.phoneNumber; //here is the question button self.userInteractionEnabled=YES; self.exclusiveTouch=NO; UIButton *button=[UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setTitle:@"Call" forState:UIControlStateNormal]; //decide the button's position CGRect rect=button.frame; rect.origin.x=15; rect.origin.y=47; rect.size.width=40; rect.size.height=20; button.frame=rect; [self addSubview:button]; [button becomeFirstResponder]; [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; NSLog(@"initWithAnnotation finished"); return self; } //action method -(void)buttonClicked:(id)sender{ NSString *callNumber=[[[NSString alloc] initWithFormat:@"tel://%@",self.phoneNumber] autorelease]; [[UIApplication shanetworkingApplication]openURL:[NSURL URLWithString:callNumber]]; } 

¿Por qué no funciona el button?

 self.rightCalloutAccessoryView = button; 

Use lo anterior en lugar de [self addSubview:button];

Espero que esta ayuda sea tu