Я очень новой для XCode и iPhone развития так, пожалуйста, медведь со мной, если этот вопрос слишком прост. Но у меня есть карта, и я успешно добавил изображения (не штифты) к нему для моих аннотаций. И я могу изменить изображение, когда пользователь выбирает один из аннотации.
Я создал класс, который наследуется от MKAnnotationView со следующими методами: -
- (id)initWithAnnotation:
- (void)setAnnotation:
- (void)drawRect:
и я с помощью
- (void)touchesBegan
знать, когда была выбраны аннотации. И в touchesBegan я делаю: -
UIImage *i = [UIImage imageNamed:@A.png];
self.image = i;
изменить изображение. Но то, что я действительно тупик на том, как изменить изображение обратно в исходное изображение, когда пользователи выбирает следующую аннотацию. Я пытался:-
NSArray *selectedAnnotations = map.selectedAnnotations;
for(id annotationView in selectedAnnotations) {
[map deselectAnnotation:[annotationView annotation] animated:NO];
}
но это ошибки
и я попытался
for (MKAnnotationView *ann in map.selectedAnnotations){
if ([ann isMemberOfClass:[Place class]])
{
place = (Place *)ann;
NSLog(@second = %@@ %f@ %f, place.title, place.longitude, place.latitude);
if (currentPlaceID == place.placeID) {
//UIImage *i = [UIImage imageNamed:@A.png];
//ann.image = i;
}
else {
UIImage *i = [UIImage imageNamed:@pin.png];
ann.image = i;
}
}
}
приведенный выше код работает нормально, пока я не дойду до ann.image = I; Тогда это ошибка. Ошибки я получаю: -
*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370'
Да, я могу видеть, что мое место объект не имеет изображения так вот почему это происходит не так. Но если я создаю свойство изображения на моем месте объекта - как будет, что изменить аннотации изображения, что я пытаюсь сделать.
Пожалуйста, посоветуйте, как я шел по кругу на этом в течение 2 дней теперь !!!!
Заранее спасибо Cheryl













