Jeg er veldig nytt for XCode og iPhone utvikling så kan du bære med meg hvis dette spørsmålet er for enkel. Men jeg har et kart, og jeg har lagt bildene (ikke pinner) til det for mine kommentarer. Og jeg kan endre bildet når brukeren velger en av kommentarene.
Jeg opprettet en klasse som arver fra MKAnnotationView med følgende metoder: -
- (id)initWithAnnotation:
- (void)setAnnotation:
- (void)drawRect:
og jeg bruker
- (void)touchesBegan
å vite når en merknad er valgt. Og i touchesBegan gjør jeg: -
UIImage *i = [UIImage imageNamed:@A.png];
self.image = i;
å endre bildet. Men det jeg virkelig stabbet på er hvordan endrer jeg bildet tilbake til det opprinnelige bildet når brukerne velger neste merknaden. Jeg har prøvd:-
NSArray *selectedAnnotations = map.selectedAnnotations;
for(id annotationView in selectedAnnotations) {
[map deselectAnnotation:[annotationView annotation] animated:NO];
}
Men det feil
og jeg prøvde
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;
}
}
}
koden ovenfor fungerer ok før jeg får ann.image = i; Da er det feil. Feilene jeg får er: -
*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370'
Ja, jeg kan se at min plass objektet ikke har et bilde så det er derfor det går galt. Men hvis jeg lage et bilde eiendom på min plass objekt - hvordan vil det endre merknader bilde som det jeg prøver å gjøre.
Vennligst informer som jeg har gått rundt i sirkler på dette i 2 dager nå !!!!
Takk på forhånd Cheryl













