Mám XCode a iPhone vývoj zcela nový, takže mějte se mnou, jestli tato otázka je příliš jednoduché. Ale mám mapu a Úspěšně jsem přidal obrazy (ne kolíky), aby se za své poznámky. A mohu změnit obraz, když uživatel zvolí jeden z anotací.
Vytvořil jsem třídu, která dědí z MKAnnotationView s následujícími způsoby: -
- (id)initWithAnnotation:
- (void)setAnnotation:
- (void)drawRect:
a já jsem s použitím
- (void)touchesBegan
vědět, kdy byl vybrán anotace. A v touchesBegan dělám: -
UIImage *i = [UIImage imageNamed:@A.png];
self.image = i;
ke změně obrazu. Ale to, co jsem opravdu agitoval o tom, jak je změním obraz zpět do původního obrazu, když uživatelé vybere další anotace. Zkusil jsem:-
NSArray *selectedAnnotations = map.selectedAnnotations;
for(id annotationView in selectedAnnotations) {
[map deselectAnnotation:[annotationView annotation] animated:NO];
}
ale chyby
I a zkoušel
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;
}
}
}
výše uvedený kód funguje ok, dokud jsem se dostat do ann.image = i; Pak to chyby. Chyby I získat, jsou: -
*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370'
Ano, vidím, že moje místo objekt nemá obraz tak, že je důvod, proč je to špatně. Ale když jsem vytvořit vlastnost obrazu na mém místě objektu - jak se, že změní anotace obraz, který, co se snažím dělat.
Prosím poradit, jak jsem se točí v kruzích na tento jeden za 2 dny teď !!!!
Díky předem Cheryl













