Sono molto nuovo per XCode e iPhone lo sviluppo in modo prega di portare con me se questa domanda è troppo semplice. Ma ho una mappa e ho le immagini (non pin) ad esso aggiunti con successo per le mie annotazioni. E posso cambiare l'immagine quando l'utente seleziona una delle annotazioni.
Ho creato una classe che eredita da MKAnnotationView con le seguenti modalità: -
- (id)initWithAnnotation:
- (void)setAnnotation:
- (void)drawRect:
e sto usando
- (void)touchesBegan
di sapere quando è stata selezionata un'annotazione. E in touchesBegan che sto facendo: -
UIImage *i = [UIImage imageNamed:@A.png];
self.image = i;
per cambiare l'immagine. Ma quello che sto veramente perplesso su è come faccio a cambiare l'immagine di nuovo alla sua immagine originale quando gli utenti seleziona la prossima annotazione. Ho provato:-
NSArray *selectedAnnotations = map.selectedAnnotations;
for(id annotationView in selectedAnnotations) {
[map deselectAnnotation:[annotationView annotation] animated:NO];
}
Ma gli errori
e ho provato
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;
}
}
}
il codice di cui sopra funziona bene fino a quando riesco a ann.image = i; allora gli errori. Gli errori che ricevo sono: -
*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370'
Si posso vedere che il mio posto oggetto non dispone di un'immagine in modo che è per questo che sta andando male. Ma se creo una proprietà immagine sul mio posto oggetto - come sarà che cambiare l'immagine di annotazioni che quello che sto cercando di fare.
Si prega di avvisare come mi sono state andando in giro in tondo su questo per 2 giorni ora !!!!
Grazie in anticipo Cheryl













