我的注释图像是第一次添加好后。每个注释都有一个带有数字的图像。当我滚动地图和方法“viewForAnnotation”是被称为(为第二次)结束,错误的图像被证明。它似乎是被退回错误注释...Mapview:注释图像错误viewForAnnotation
ViewAnnotation方法:
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{
static NSString *identifier = @"pin";
VBAnnotationView *view = (VBAnnotationView *)[self.MapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if (view == nil) {
view = [[VBAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
}
return view; }
请注意,VBAnnotationView是我自定义的MKAnnotationView。
如果“视图”不是零,则“dequeueReusableAnnotationViewWithIdentifier”找到的视图将返回错误的图像。当我注释掉检查“view == nill”时,所有注释上的图像都是正确的。
为了最优化,如果注释已经存在,我检查方法“viewForAnnotation”。取消检查注释是否已存在时,图像显示正确。
你的意思是MKAnnotationView而不是VBAnnotationView? – Camus 2013-02-20 00:48:57
嗨加缪,VBAnnotationView是我的自定义MKAnnotationView。我在这个问题上加了这个。 – 2013-02-20 00:52:23