2010-09-15 14 views
5

Qualcuno ha mai sovrascritto correttamente il metodo setDragState in MKAnnotationView? Se provo a google per questo con "mkannotationview setDragState" Ho solo tre colpi! Uno di questi è il mio altro post su StackOverflow;)Sottoclasse MKAnnotationView

Il riferimento indica che quando la sottoclasse di MKAnnotationView si deve preoccupare della sottoclasse di dragstate. Ma non dice esattamente come. Solo impostando il valore di trascinamento su MKAnnotationViewDragStateDragging o meglio su MKAnnotationViewDragStateCanceling sembra non essere sufficiente. Perché se lo faccio, uno dei problemi, ad esempio, è che mapview non riceve la funzione delegato mapView:annotationView:didChangeDragState:fromOldState:.

Ho provato a sovrascriverlo impostando il dragState anche nella super classe. Ma a questo punto si verificano altri errori: ad esempio, se trascino l'annotationView e il mio dito viene eseguito fuori dallo schermo, l'app si blocca con qualcosa come "impossibile rimuovere l'osservatore per keypath dragstate" (ma la mia sottoclasse non ha alcun osservatore che conosco) . Quindi sembra che ci siano altre cose a cui badare.

In questo post sul forum per sviluppatori Apple https://devforums.apple.com/message/203107#203107 aroonicus, un ragazzo di Apple, afferma che è necessario sovrascrivere [MKAnnotationView setDragState:] ma purtroppo non dice come.

Qualcuno può aiutare? Qualcuno sa come eseguire l'override di setDragState? Qualcuno ha creato una sottoclasse funzionante di MKAnnotationView che ha scavalcato setDragState?

Bye,

Ben

risposta

Problemi correlati