mapkit ve ek açıklamalar

oy
0

Bu soru çok basittir eğer öyleyse ayı ile beni lütfen XCode ve iPhone gelişmesine çok yeni. Ama bir harita var ve başarıyla benim ek açıklamaları için kendisine görüntüleri (değil pimleri) ekledik. Kullanıcı ek açıklamalar biri seçtiğinde Ve resmini değiştirebilirsiniz.

Aşağıdaki yöntemlerle MKAnnotationView devralan bir sınıf oluşturuldu: -

- (id)initWithAnnotation:

- (void)setAnnotation:

- (void)drawRect:

ben kullanıyorum

- (void)touchesBegan

Ek açıklama seçildiğinde bilmek. Ve touchesBegan yapıyorum: -

UIImage *i = [UIImage imageNamed:@A.png];
self.image = i;

Görüntüyü değiştirmek için. Ama gerçekten stumped Kullanıcıların sonraki ek açıklama seçtiğinde orijinal görüntü var geri görüntüyü değiştiririm nasıl. Denedim:-

NSArray *selectedAnnotations = map.selectedAnnotations;
for(id annotationView in selectedAnnotations) {
[map deselectAnnotation:[annotationView annotation] animated:NO];
}

ama hataları

ve denedim

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;
}
}

}

I = i ann.image ulaşana kadar yukarıdaki kod Tamam çalışır; Sonra hataları He got. Ben olsun hatalar şunlardır: -

*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[Place setImage:]: unrecognized selector sent to instance 0x4514370'

Evet ben yanlış gidiyor yüzden bu yüzden benim yerim nesne bir görüntü olmadığını görebiliriz. Benim evin nesne üzerinde bir görüntü mülkü oluşturmak Ama eğer - o açıklamalar imajını değiştirecek nasıl yapmaya çalışıyorum hangi neyi.

Şimdi 2 gün boyunca bu sefer Daireler çiziyoruz edilmiş olarak bildiriniz !!!!

peşin Cheryl teşekkürler

Oluştur 29/10/2009 saat 15:56
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

Cheryl

Tamamen size yapmaya çalıştığını, ama burada bazı düşünceler ne uymayan:

İşte orijinal görüntüyü geri yüklemek için böyle yapardı:

MKAnnotationView sizin alt sınıfında, iki UIImage Özellikler 'ekleyin

firstImage ve secondImage, korumak için kurulmuş.

Ek açıklamalarda görünümü init, her iki görüntüleri kurdu. (Eğer ek açıklama görünümüne görüntü atamak noktada da yeni firstImage özelliğine kaydedin)

Ardından, diyebiliriz

self.image = firstImage;

veya

self.image = secondImage.

geri tersi görüntü tutarken Yani, yerine uygun görüntüyü takas edecek.

Senin kodun:

NSArray *selectedAnnotations = map.selectedAnnotations; for(id annotationView in selectedAnnotations) { [map    
deselectAnnotation:[annotationView annotation] animated:NO]; }

doğru değil. Bu ek açıklamaların bir dizi için harita sorar ve sonra açıklama VIEW'ler olarak nitelendirir.

Ek açıklama, bir veri modeli objesi bir. Bu ek açıklama açıklayan verileri içerir.

Ek açıklama, GÖRÜNÜM nesne o anda görünür ise harita üzerinde bir şerh görüntülemek için kullanılan geçici bir görüntüleme nesnesidir. Harita üzerinde her ek açıklaması için ek açıklama görünümleri her zaman bulunmamaktadır.

Cevap 12/11/2009 saat 21:56
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more