Alright, the problem here is that I have a UIGestureRecognizer
set on the MKMapView
(For what it's worth, it is a custom recognizer, but I don't believe this changes anything) and this gesture recognizer consumes the touch which is then not forwarded to the calloutAccessoryControl
. Note that this behavior changed between iOS6 and iOS7. The fix was easy though, I added my controller as a delegate of the recognizer (it wasn't before) and implemented the UIGestureRecognizerDelegate
method :
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UIControl class]]) {
return NO;
}
return YES;
}