遇到MKAnnotation问题。有一个自定义的pinview,并为第一次加载工作正常。去除引脚,然后重新加载相同的引脚,它们改变颜色。我添加来自两个不同的数据库的引脚,工作得很好。一旦删除,然后分别添加每个阵列第二个阵列采取第一个阵列自定义引脚,而不是一个分配。MKAnnotations无法正确重新加载
- (MKAnnotationView *)mapView:(MKMapView *)mapview viewForAnnotation:(id <MKAnnotation>)annotation
{
MKAnnotationView *pinView = nil;
if(annotation != mapView.userLocation)
{
static NSString *defaultPinID = @"pin";
pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView == nil)
pinView = [[MKAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:defaultPinID];
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setTitle:annotation.title forState:UIControlStateNormal];
[rightButton addTarget:self
action:@selector(showDetails:)
forControlEvents:UIControlEventTouchUpInside];
pinView.rightCalloutAccessoryView = rightButton;
UIImageView *profileIconView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"stores.png"]];
pinView.leftCalloutAccessoryView = profileIconView;
NSString *badgestringss = @"8 reviews";
customBadge1 = [CustomBadge customBadgeWithString:badgestringss
withStringColor:[UIColor whiteColor]
withInsetColor:RGB(255, 51, 0)
withBadgeFrame:YES
withBadgeFrameColor:[UIColor whiteColor]
withScale:1.0
withShining:YES];
[customBadge1 setFrame:CGRectMake(100, 1, 85, 15)];
[pinView.leftCalloutAccessoryView addSubview:customBadge1];
if(setStoreOrShops==NO){
pinView.image = [UIImage imageNamed:@"stores.png"]; //as suggested by Squatch
}
else if (setStoreOrShops==YES){
pinView.image = [UIImage imageNamed:@"shops.png"];
}
else {
[mapView.userLocation setTitle:@"Current Location"];
}
}
return pinView;
}
已经遍地搜索,但似乎无法得到一个例子工作或一个想法,这是分解。谢谢你的帮助。
作为我文章中,我想通了。 MyAnnotation * myAnnot =(MyAnnotation *)注释;如果(myAnnot.mappin == @“42”) pinView.image = [UIImage imageNamed:@“stores.png”]; else pinView.image = [UIImage imageNamed:@“shops.png”]; –
来自这里http://stackoverflow.com/questions/7288757/how-do-i-load-different-custom-pins-or-identifiers-based-off-of-their-property-v –