mkmapview自定义详图索引编号ios6

mkmapview自定义详图索引编号ios6,ios,mkmapview,ios6,Ios,Mkmapview,Ios6,在mapview iOS6中选择pin时,我遇到了一个神秘问题 顺便说一句,它在iOS 5中正常工作,我不确定iOS 6的地图中发生了什么变化,导致了这个问题 请注意,当我单击地图时,标注会直接覆盖图钉并正确显示 如有任何帮助/线索,将不胜感激 提前感谢答案可能会有所不同,具体取决于您如何实现自定义标注气泡。这就是我正在使用的解决方案:我遇到了完全相同的问题 基本上,每次标注要显示时,我都必须将子视图带到前面 在本例中,我的自定义callout bubble是一个名为“BaseCalloutV

在mapview iOS6中选择pin时,我遇到了一个神秘问题

顺便说一句,它在iOS 5中正常工作,我不确定iOS 6的地图中发生了什么变化,导致了这个问题

请注意,当我单击地图时,标注会直接覆盖图钉并正确显示

如有任何帮助/线索,将不胜感激


提前感谢

答案可能会有所不同,具体取决于您如何实现自定义标注气泡。这就是我正在使用的解决方案:我遇到了完全相同的问题

基本上,每次标注要显示时,我都必须将子视图带到前面

在本例中,我的自定义callout bubble是一个名为“BaseCalloutView”的类,它包含一个UIView作为其ContentView属性(如上面链接的UML图所示)。选择注释后,它会触发BaseCallout视图的“animateIn”功能,我在其中添加了:

[self.superview bringSubviewToFront:self];

正如我所提到的,您的里程数可能会因实施自定义标注编号的方式而异。如果需要,我可以向您提供完整的代码-但老实说,我90%的代码都来自上面的链接。

此解决方案对我不起作用,但它确实:


很抱歉,不知道如何正确链接答案。

在IOS 5和IOS 6中,我尝试了这个,没问题

销从不与视图重叠。 我使用自定义详图索引视图,在文件基础详图索引视图中添加以下内容:

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

我使用相同的代码库,遇到相同的问题。[self.superview将子视图带到前面:self];不适合我,不管我把它放在哪里。[annimateIn]或[didMoveToSuperView]或[LayoutIfNeed]

因为这个问题通过手指稍微移动一点地图就解决了,所以我发现在-(void)mapView:(MKMapView*)mapView didSelectAnnotationView:(MKAnnotationView*)视图中放置代码很容易模拟这个效果。偏移非常小,根本看不到任何视觉运动

    CLLocationCoordinate2D newCenterCoordinate = {self.mapView.region.center.latitude + 0.0000001,
        self.mapView.region.center.longitude + 0.0000001};

    [self.mapView setCenterCoordinate:newCenterCoordinate animated:NO];

实际上,我实现了地图A的代理区域方法,并将此代码放在其中,还添加了此代码([self.superview bringSubviewToFront:self])在绘制详图索引的矩形后,在大多数情况下都有效,但在显示详图索引时继续单击地图时仍然会出现问题,当我离开我的手时,我已经点击的插针仍然出现在标注上,它们返回标注。我认为当试图改变地图的区域时,奇怪的事情正在发生!!!当显示标注时,您说您正在单击地图-这是否意味着单击地图不会为您取消标注?从技术上讲,这相当于取消选择注释并隐藏标注编号。是的,这相当于取消选择注释,但当我单击地图并将手指放在屏幕上时,问题就会出现。发布时,问题消失了,这是有意义的,因为我将[self.superview bringSubviewToFront:self]添加到地图的2个代理区域方法中,但我如何在手指点击地图的同时找出问题仍然出现的原因?我将尝试在我的代码中重新创建此问题,因为您的方法与我的不同,我看看能找到什么。在我的脑海中,我想说的是,您可能正在删除并重新添加注释,这会导致注释重新添加到自定义标注编号的顶部,或者显示在顶部的注释以某种方式被用于将标注置于前面的代码带到了前面。如果您可以发布/共享用于此特定实现的代码,这会有所帮助。检查此链接可能会对您有所帮助。。。