我在MKMapView
的标注视图中遇到了一个奇怪的问题。我正在使用leftCalloutAccessoryView
设置一个包含图片和几个标签的视图,如下图所示。每当我点击注释时,会出现通常显示标注的动画,然后我的内容消失,并从左侧滑动重新出现,如gif图像所示。我不知道如何解决这个问题。这只发生在iOS 8上。在iOS 7上显示正常。
答案 0 :(得分:1)
我自己想通了。所以我只是发布这个来帮助任何人遇到同样的问题。问题在于我如何返回leftCalloutAccessoryView
。我重写了该方法并通过在那里分配UIView
来返回它。这是出于某种原因导致动画。我创建了一个新属性并初始化了附件视图,并且每次都在leftCalloutAccessoryView
中返回相同的对象。这解决了问题。
@property (nonatomic, strong) UIView *accessory;
和
-(UIView *)leftCalloutAccessoryView {
return self.accessory;
}
-(UIView *)accessory {
if (_accessory == nil) {
UIView *backgroundView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.mapView.frame.size.width-8, height)];
// custom code here
_accessory = backgroundView;
}
return _accessory;
}
这一切都解决了这个问题。