问题描述
我正在使用 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 (将#修改为@)