Iphone 注释没有按照我提供的顺序放在地图视图上

Iphone 注释没有按照我提供的顺序放在地图视图上,iphone,annotations,mkmapview,Iphone,Annotations,Mkmapview,我开发了一个应用程序,它使用地图视图,在同一个位置有多个注释,但它没有放弃我为注释提供的顺序。我从数组中添加了注释,但它没有显示相同的顺序。我需要第一个对象[注释]位于该位置的顶部。当用户点击注释时,第一个对象应显示为标注。有什么建议可以这样做吗 谢谢 我已经尝试过这种方法,但没有成功 - (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views { for (MKAnnotationView *vie

我开发了一个应用程序,它使用地图视图,在同一个位置有多个注释,但它没有放弃我为注释提供的顺序。我从数组中添加了注释,但它没有显示相同的顺序。我需要第一个对象[注释]位于该位置的顶部。当用户点击注释时,第一个对象应显示为标注。有什么建议可以这样做吗

谢谢 我已经尝试过这种方法,但没有成功

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {


for (MKAnnotationView *view in views) {

    if ([[view annotation] isKindOfClass:[Annotation class]]) {
        Annotation *customAnnotation = (Annotation*) [view annotation];
        if ([customAnnotation markerID]==0)
             [[view superview] bringSubviewToFront:view];
        else {
            [[view superview] sendSubviewToBack:view];
        }
    }
}
}

注释可以按任意顺序添加,也可以像在表视图中添加单元格一样从视图中添加或删除。因此,z层可能会以您可能不希望的方式变化

下面是一些可能对您有所帮助的示例代码。我有一个地图,显示搜索结果的PIN。它们分为正常结果和收藏夹。我希望收藏夹始终位于顶部或其他针脚上。我还有一个“矩形”来突出显示选定的地图图钉,我总是希望它位于所有注释的顶部。我使用此代码将不同类型的注释按正确的z层顺序排列:

- (void) mapView:(MKMapView *)aMapView didAddAnnotationViews:(NSArray *)views {

    MKAnnotationView *theReticleView = nil;

    for (MKAnnotationView *view in views) {
        if ([[view annotation] isKindOfClass:[SearchResult class]]) {
            SearchResult *result = (SearchResult*) [view annotation];
            if ([result.isFavorite boolValue])  {
                [[view superview] bringSubviewToFront:view];
            } else {
                [[view superview] sendSubviewToBack:view];
            }
        }
        else if ([[view annotation] isKindOfClass:[MapReticle class]]) {
            theReticleView = view;
        }
    }
    if (theReticleView != nil)
        [[theReticleView superview] bringSubviewToFront:theReticleView];

}

可能是Hi Draco的复制品,谢谢你的快速回答,我已经尝试过这种方法,但没有运气。当我点击注释获取标注时,它显示的不是注释的第一个索引。它应该向我显示注释的第一个索引。[一个位置有很多注释,当我点击注释时,它需要显示顶部的注释,而当前没有显示。]