如何解决内容更改后需要 MKAnnotationView 的 detailCalloutAccessoryView 调整大小
我正在使用 MKAnnotationView 的 detailCalloutAccessoryView
属性来显示丰富的内容视图。内容可能会发生变化,无论是由于用户对附件视图的操作,还是因为来自应用程序(或云)的另一部分的变化,所以我想在发生这种情况时调整 detailCalloutAccessoryView
的大小。我尝试了一些方法,但没有一个会强制 detailCalloutAccessoryView
调整大小;唯一的选择是取消选择注释,然后再次选择它,如果用户正在与之交互的视图,这对用户来说很麻烦。
我自己创建的视图作为子视图添加到 detailCalloutAccessoryView
视图,并使用自动布局根据 detailCalloutAccessoryView
进行布局。看起来不错,但是当内容更改时,内部视图会正确调整大小,但外部 detailCalloutAccessoryView
容器视图不是。
这是更改前的视图示例(大小正确):
我试过了,但它没有做任何事情:
- (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 self.selectedAnnotationView
方法中的 didSelectAnnotationView
。
有没有办法让 MKAnnotationView 的 detailCalloutAccessoryView
重绘自身,或者调整大小?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。