Custom Annotation View do not work on iOS6

2019-02-19 18:44发布

I'm using the J4n0 Callout code (github) to implement a custom annotation in MapKit.

It was working just fine on iOS5. But on iOS6 I have 2 problems:

  1. Annotations are displayed over the AnnotationView (see picture 1).
  2. The first Click on an Annotation opens the AnnotationView just fine, but the second click opens an annotation with a bad size (see picture 2).

Does anyone using this library have some similar problem/solution?

I can give some code if needed!

annotation on the view bad size

2条回答
女痞
2楼-- · 2019-02-19 19:13

If annotations are displayed over the AnnotationView try to code:

- (void)didMoveToSuperview {
    [super didMoveToSuperview];
    [self.superview bringSubviewToFront:self];
}

Just in case above solution doesn't work try

view.layer.zposition = 1
查看更多
虎瘦雄心在
3楼-- · 2019-02-19 19:20

I am not sure whether you used the same code as mine, I downloaded it from somewhere to custom the annotationView and I also figured out that in the second time, the size is incorrect. I had noticed that the removeAnnotation function, will also make the annotationView call its didMoveToSuperview once again! Then I dug into the codes in didMoveToSuperview and found that the codes that I downloaded (i hope u meet the same one), do some animation in it so this will make the animation codes call twice. That makes the problem that "second click open an annotation with a bad size"

So remove this animation codes, or make it call somewhere else and NOT in didMoveToSuperview but properly. I hope this will help you, and hope you will share your advice if find out that I am wrong.

查看更多
登录 后发表回答