Domanda

Ho un TableCell personalizzato con una MapView integrato che mostra una piccola area. Quando l'utente seleziona la cella, voglio spingere una nuova vista con un mapview più grande e qualche informazione in più, come la distanza dal punto in cui ti trovi, l'opzione di ciò mappa-tipo, ecc.

Se lascio un piccolo margine intorno al mio mapview, l'utente può cliccare in quel margine per selezionare la cella, ma come posso fare la cella selezionata, se si fa clic all'interno del mapview?

saluti,
-Vegar

È stato utile?

Soluzione

Penso che è necessario eseguire l'override del metodo hitTest ereditato da UIView

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
  

Questo metodo attraversa la vista   gerarchia con l'invio del   pointInside: withEvent: messaggio a ciascun   visualizzazione secondaria per determinare quale visualizzazione secondaria   dovrebbe ricevere un evento di tocco. Se   pointInside: withEvent: ritorna SI,   poi gerarchia del visualizzazione secondaria è   attraversato; altrimenti, il suo ramo   la gerarchia della vista viene ignorato.   raramente bisogno di richiamare questo metodo, ma   si potrebbe sovrascrivere per nascondere tocco   eventi da subviews.

Altri suggerimenti

Prova impostare la proprietà userIteractionEnabled di MapView di NO

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top