Burbuja de llamada MKAnnotation personalizada con botón

Estoy desarrollando una aplicación, donde el usuario está localizado por gps y luego se le pregunta si está ubicado en un lugar específico. Para confirmar esto, se le presenta la burbuja de llamada de inmediato, preguntándole si está en un lugar específico.

Como hay muchas preguntas similares, pude hacer una burbuja de llamada personalizada:

Mi problema: el botón no es "seleccionable" Mi conjetura: debido a que esta llamada personalizada es más alta que la burbuja de llamada estándar, tuve que colocarla en un "marco" negativo, por lo tanto, no se puede hacer clic en el botón. Aquí está mididSelectAnnotationView método

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    if(![view.annotation isKindOfClass:[MKUserLocation class]]) {
        CalloutView *calloutView = (CalloutView *)[[[NSBundle mainBundle] loadNibNamed:@"callOutView" owner:self options:nil] objectAtIndex:0];
        CGRect calloutViewFrame = calloutView.frame;
        calloutViewFrame.origin = CGPointMake(-calloutViewFrame.size.width/2 + 15, -calloutViewFrame.size.height);
        calloutView.frame = calloutViewFrame;
        [calloutView.calloutLabel setText:[(MyLocation*)[view annotation] title]];
        [calloutView.btnYes addTarget:self
                               action:@selector(checkin)
                     forControlEvents:UIControlEventTouchUpInside];
        calloutView.userInteractionEnabled = YES;
        view.userInteractionEnabled = YES;
        [view addSubview:calloutView];
    }

}

CalloutView es una clase simple con 2 propiedades (etiqueta que muestra el nombre del lugar y el botón) y con xib.

He estado haciendo esta burbuja de llamada personalizada durante unos días. Intenté usar "soluciones asincrónicas"solución pero no pude agregar ningún otro tipo de botón luego el botón de revelación.

Mi siguiente intento fue encontrar algo que fuera más fácil que las soluciones de asincronía y modificarlo para mi uso. Así es como me encontréllamada personalizada de tochi.

Basado en su trabajo, pude personalizar su burbuja y cambiar el botón de información para mi botón personalizado. Sin embargo, mi problema seguía siendo el mismo. Para colocar mi vista de llamada personalizada en la parte superior del pin, tuve que darle un marco negativo, por lo que mi botón era "seleccionable" solo en los 5 píxeles inferiores. Parece que tengo que profundizar más en la burbuja de llamada predeterminada de ios, subclase y cambiar el marco de la llamada allí. Pero estoy realmente sin esperanza ahora.

Si ustedes me pueden mostrar el camino correcto, o darme consejos, me alegraré.

Respuestas a la pregunta(3)

Su respuesta a la pregunta