iOS 8 MKAnnotationView标注错误地调整大小

时间:2015-03-25 20:45:10

标签: ios mkmapview

我有一些带标题和副标题的注释;其他只有标题。当我以编程方式选择注释时,我经常会看到标注不正确的标注(例如,通常对文本来说太高)。通常,看起来尺寸适合于副标题的视图用于仅具有标题的注释。这些标注都没有附件视图。有没有人遇到过这个问题?我显然需要强制每个附件视图在获取新内容时调整自身大小,但无法弄清楚如何操作。

1 个答案:

答案 0 :(得分:0)

由于我在你的问题中没有看到任何代码,但我认为我很久以前写的以下代码可能会回答你的问题。

MKAnnotationView *annotationView = [self.mapView viewForAnnotation:annotation];
    // The annotation must be visible, otherwise a refresh isn't needed
    if (annotationView != nil) {
        NSArray *selectedAnnotations = self.mapView.selectedAnnotations;
        // The annotation must be selected, otherwise a refresh isn't needed
        if ((selectedAnnotations != nil) && ([self.mapView.selectedAnnotations indexOfObject:annotation] != NSNotFound)) {
                // Unset and re-set the right button to force relayout
                UIView *view = annotationView.rightCalloutAccessoryView;
                annotationView.rightCalloutAccessoryView = nil;
                annotationView.rightCalloutAccessoryView = view;
        }
    }