2015-05-08 2 views
1

Я хотел бы показать 2 разных типа аннотаций, основанных на определенной переменной «цепочка» ... Как я могу это сделать? Это фрагмент кода, который у меня есть сейчас:Отображение двух различных изображений аннотаций

pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation 
    reuseIdentifier:PharmacyPinID]; 

NSString *chainString = tmpAnnotation.chain; 
NSString *mapImage = [NSString stringWithFormat:@"map_icon_%@",chainString]; 
pinView.image = [UIImage imageNamed:mapImage]; 

Спасибо!

ответ

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 является пользовательским типом, который имеет тип собственности, который говорит вам, какой пояснительные вы хотите. (Аннотации - любой объект, который вы хотите, который соответствует протоколу MKAnnation, поэтому он может иметь пользовательские свойства, если вы хотите.)

Он также предполагает, что у вас есть несколько различных пользовательских подклассов MKAnnotationView, которые вы хотите использовать.

 Смежные вопросы

  • Нет связанных вопросов^_^