Hvordan kan jeg bruke MKPinAnnotationView på toppen av en vanlig UIView (i stedet for på et kart)

stemmer
0

Jeg skriver en iPhone applikasjon som vil inneholde en egendefinert kart - mitt eget bilde for kartet, ikke Googles. Bildet er ikke veldig stort, så i stedet for å bruke et bibliotek som RouteMe, jeg velger bare en UIScrollView med et innebygd bilde (kartet).

Mitt spørsmål er: er det mulig å gjenbruke Apples MKPinAnnotationView klasser på toppen av min tilpassede UIView slik at pinne interaksjoner vil føle det samme som MapKit? Jeg har så langt funnet ut hvordan du legger en pinne til min kart og posisjons det, men jeg kan ikke finne ut hvordan du kan la brukeren kommuniserer med det - det vil si gjøre beskrivelsen boble pop up.

noen tanker? Tusen takk.

Publisert på 20/07/2009 klokken 15:51
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Har du sett på denne metoden fra MKAnnotationView:

  • (Void) setSelected: (BOOL) valgt animerte: (BOOL) animert

Det er den eneste metode som er offentlig eksponert som kan slå av / på bildeforklaringen boble. Annet enn det, vil du være nødt til å reversere klassene og begynne poking rundt.

Men jeg vil sterkt anbefale mot reverse engineering klassene og bruke metoder som ikke er offentlig eksponert. Apple gir ingen løfter om å opprettholde bakoverkompatibilitet, og hvis de finner ut at du bruker private metoder, vil de sparke din app fra butikken.

btw, full avsløring, disse er Apples dokumentasjon notater for setSelected: animerte:

Diskusjon Du bør ikke kalle denne metoden direkte. En MKMapView objekt kaller denne metoden i respons til brukerinteraksjoner med kommentaren.

Svarte 20/07/2009 kl. 22:09
kilden bruker

stemmer
0

Du kan være i stand til å gjøre en og bruke legge subview for å vise det, ull prolly nødt til å gjøre en del arbeid for å få det til å vise hvor u vil ha det til siden koordinatene u gir er ment å fungere eith mkmaps

Svarte 20/07/2009 kl. 16:31
kilden bruker

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