自定义注释视图在iOS6上不起作用

时间:2012-09-26 15:28:42

标签: objective-c mapkit ios6 mkannotation mkannotationview

我正在使用J4n0标注代码(github)在MapKit中实现自定义注释。

它在iOS5上运行得很好。但在iOS6上我有两个问题:

  1. 注释显示在AnnotationView上(见图1)。
  2. 第一次单击注释会打开AnnotationView,但第二次单击会打开一个尺寸不佳的注释(参见图2)。
  3. 使用此库的人是否有类似的问题/解决方案?

    如果需要,我可以提供一些代码!

    annotation on the view bad size

2 个答案:

答案 0 :(得分:2)

如果注释显示在AnnotationView上,请尝试编码:

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

以防上述解决方案无效,请尝试

view.layer.zposition = 1

答案 1 :(得分:-1)

我不确定你是否使用了与我相同的代码,我从某个地方下载了它来自定义annotationView,我也发现在第二次,大小不正确。我注意到removeAnnotation函数也会让annotationView再次调用didMoveToSuperview!然后我挖掘了didMoveToSuperview中的代码,发现我下载的代码(我希望你遇到相同的代码),在其中做一些动画,这样就可以使动画代码调用两次。这就产生了“第二次点击打开尺寸不佳的注释”的问题

所以删除这个动画代码,或者让它在其他地方调用,而不是在didMoveToSuperview但正确。我希望这会对你有所帮助,并希望你在发现我错了的时候分享你的建议。