Domanda veloce: come posso rilevare se un riconoscitore di gesti di tocco si trova in una sottoview della vista a cui è aggiunto? Per esempio. se clicco su un oggetto come un quadrato che è stato aggiunto come sottoview a uno sfondo a cui è stato aggiunto un riconoscitore di gesture, come posso rilevare che è stato toccato?Come rilevare un gesto di tocco nelle sottoview
risposta
È possibile afferrare il punto del rubinetto del rilevatore di gesti quando il metodo del gestore viene richiamato in base a qualsiasi visualizzazione desiderata utilizzando -locationInView:
. Quindi, utilizzare il seguente metodo su UIView: - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
per ottenere un riferimento alla visualizzazione secondaria effettiva che è stata toccata, ricordando che il punto in cui si passa è nello stesso spazio di coordinate della vista.
Alcuni codice per iniziare:
CGPoint point = [tapGestureRecognizer locationInView:parentView];
UIView *tappedView = [parentView hitTest:point withEvent:nil];
Per hit testing a lavorare la vista ha bisogno di avere la proprietà userInteractionEnabled
impostata YES
. Molte visualizzazioni, ad esempio UILabel
s, hanno impostato su NO
per impostazione predefinita. Quindi, prima di quanto sopra:
self.subviewOfInterest.userInteractionEnabled = YES;
Grazie, questo aiuta molto! – Fitzy
Grazie @Brandom –
è possibile utilizzare il requireGestureRecognizerToFail:
di riconoscere il rubinetto visualizzazione secondaria si rimanda this codice
forse si dovrebbe impostare come: subviews.userInteractionEnabled = YES; buona fortuna!
Dannazione! Questo è quello di cui avevo bisogno. La mia sottoview è stata ignorata da gestureRecognizer e ora funziona. Grazie. – surfrider
- 1. Come rilevare tocco e doppio tocco contemporaneamente utilizzando UITapGestureRecognizer?
- 2. ios Come rendere UITextView rilevare un tocco?
- 3. Gestione del gesto di tocco in un UICollectionView
- 4. Come rilevare tocco sul UIWebView
- 5. Come rilevare l'evento di fine tocco per UIButton?
- 6. Come rilevare l'evento di tocco nel controllore di vista figlio in ios
- 7. Come posso rilevare il tocco in cocos2d?
- 8. come rilevare evento di tocco nelle celle della tabella per iPhone
- 9. come rilevare la direzione del gesto di scorrimento?
- 10. Come posso rilevare un tocco su un'area specifica
- 11. Come posso rilevare l'evento di tocco di UIImageView
- 12. Come rilevare l'evento di tocco all'esterno del cassetto di navigazione
- 13. L'iPhone può rilevare la dimensione di un tocco?
- 14. Come rilevare gli eventi di tocco in Android
- 15. setNeedsDisplay non attiva drawRect nelle sottoview come previsto
- 16. Come disegnare un gesto multicolore nello stesso gesto sovrapposizione
- 17. Rilevamento di un semplice gesto circolare
- 18. Rilevamento di eventi di tocco su UILabel
- 19. Sottoview UISearchBar di UITableViewHeader?
- 20. Il gesto di superview dovrebbe annullare il gesto di subview in iOS 7?
- 21. Come limitare il riconoscimento del gesto del tocco dell'iPhone all'interno di un'immagine circolare?
- 22. Come riconoscere il gesto di tocco mentre si sta animando una vista
- 23. Come rilevare il tocco dell'utente con PhoneGap utilizzando JS
- 24. Objective-c: Come rilevare il doppio tocco sulla vista?
- 25. Esiste un modo efficace per rilevare le modifiche al primo soccorritore nelle visualizzazioni secondarie?
- 26. L'aggiunta di Uiview alla sottoview UIButton impedisce gli eventi di tocco
- 27. Salvare e rilevare un particolare modello di gesto di scuotimento iphone
- 28. Disattivazione del gesto del commutatore di attività tocco 3D sul lato sinistro dello schermo
- 29. React Native: continua l'animazione con l'ultima velocity del gesto di tocco
- 30. Come ottenere un evento di tocco continuo?
Si prega di fornire chiari chiarimenti cosa ti piace fare? vuoi riconoscere il clic sulla sottoview? –