Uiview 更改内容后需要调整MKAnnotationView的detailCalloutAccessoryView的大小

Uiview 更改内容后需要调整MKAnnotationView的detailCalloutAccessoryView的大小,uiview,uikit,mkmapview,mkannotationview,Uiview,Uikit,Mkmapview,Mkannotationview,我正在使用MKAnnotationView的detailCalloutAccessoryView属性来显示内容的丰富视图。内容可能会更改,无论是用户在附件视图上的操作,还是来自应用程序或云的其他部分的更改,因此我希望在发生这种情况时调整detailCalloutAccessoryView的大小。我尝试了一些方法,但没有一种方法可以强制调整detailCalloutAccessoryView的大小;唯一的选择是取消选择注释,然后再次选择它,如果用户正在与视图交互,这对用户来说很麻烦 我自己创建的视

我正在使用MKAnnotationView的detailCalloutAccessoryView属性来显示内容的丰富视图。内容可能会更改,无论是用户在附件视图上的操作,还是来自应用程序或云的其他部分的更改,因此我希望在发生这种情况时调整detailCalloutAccessoryView的大小。我尝试了一些方法,但没有一种方法可以强制调整detailCalloutAccessoryView的大小;唯一的选择是取消选择注释,然后再次选择它,如果用户正在与视图交互,这对用户来说很麻烦

我自己创建的视图作为子视图添加到detailCalloutAccessoryView视图中,并使用自动布局对detailCalloutAccessoryView进行布局。它看起来不错,但是当内容更改时,内部视图的大小调整正确,而外部detailCalloutAccessoryView容器视图的大小调整不正确

以下是更改大小正确之前的视图示例:

移除几个标记后,我提供的内容视图大小正确,但callout视图大小不正确

我已经试过了,但没有任何效果:

- (void) calloutTagsUpdateViewShouldResize {
    
    [self.selectedAnnotationView.detailCalloutAccessoryView setNeedsDisplay];
    [self.selectedAnnotationView.detailCalloutAccessoryView setNeedsLayout];
}
我还尝试使用任意值直接设置帧,但它不会更新:

UIView *accessoryView = self.selectedAnnotationView.detailCalloutAccessoryView;
accessoryView.frame = CGRectMake(accessoryView.frame.origin.x, accessoryView.frame.origin.y, accessoryView.frame.size.width, 500);
注意:我从MKMapViewDelegate didSelectAnnotationView方法保存self.selectedAnnotationView

有没有办法让MKAnnotationView的detailCalloutAccessoryView重新绘制自身或调整大小