Είμαι πολύ νέα για να το 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













