EDIT:
As @Anna Karenina made me realize, I used MKPinAnnotationView instead of MKAnnotationView . Apparently, MKPinAnnotation has baked in centerOffset, which is the reason for the strange behavior.
ORIGINAL RESPONSE:
For those who have the same problem, this seems like a bug in iOS7.
Workaround:
Subclass MKAnnotationView and overwrite the setter method for the centerOffset property.
Nothing new in the .h header file, and the .m implementation file should look like this:
#import "MyAnnotationView.h" @implementation MyAnnotationView @synthesize centerOffset = _centerOffset; -(id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) {
Don't miss the @synthesize part @synthesize top!
source share