我想基于特定的“链”变量显示2种不同类型的注释......我怎么能这样做?这是我现在的代码片段:
pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:PharmacyPinID];
NSString *chainString = tmpAnnotation.chain;
NSString *mapImage = [NSString stringWithFormat:@"map_icon_%@",chainString];
pinView.image = [UIImage imageNamed:mapImage];
谢谢!
答案 0 :(得分:1)
现在您正在使用通用的MKAnnotationView对象。你想以不同的方式做什么?
简短的回答是做这样的事情:
MKAnnotationView *myAnnotationView;
switch tmpAnnotation.type
{
case type1:
myAnnotationView= [[CustomAnnoation1 alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier: type1ID];
case type2:
myAnnotationView= [[CustomAnnoation2 alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier: type2ID];
default:
myAnnotationView= [[MKAnnotationView alloc] initWithAnnotation:tmpAnnotation
reuseIdentifier:PharmacyPinID];
}
NSString *chainString = tmpAnnotation.chain;
NSString *mapImage = [NSString stringWithFormat:@"map_icon_%@",chainString];
pinView.image = [UIImage imageNamed:mapImage];
上面的代码假定tmpAnnotation是一个自定义类型,它具有一个属性类型,可以告诉您需要哪种注释视图。 (注释是您想要的符合MKAnnotation协议的任何对象,因此如果需要,它可以具有自定义属性。)
它还假设您有几个不同的MKAnnotationView自定义子类。