我很新的Xcode和iPhone開發所以請多多包涵,如果這個問題太簡單了。但是我有一張地圖,並且我已經成功添加了圖像(而不是針)用於註釋。當用戶選擇其中一個註釋時,我可以更改圖像。mapkit和註釋
我創建了一個從MKAnnotationView繼承以下方法的類: -
- (id)initWithAnnotation:
- (void)setAnnotation:
- (void)drawRect:
,我使用
- (void)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 =我;那就錯了。我得到的錯誤是: -
*** -[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天!!!!
在此先感謝 謝麗爾