遇到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 –