Selezionare TableCell quando si tocca vista incorporata
-
19-09-2019 - |
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
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