Obtenir des points de contact avec l'emplacement
J'ai UIWebView pour afficher les articles. J'ai UIWebView pour les écrans articles au format HTML. Lorsque l'utilisateur touche une zone de UIWebView, UIMenuController s'affiche. Ensuite à l'utilisateur de sélectionner la note sur le bouton, il affiche UITextView. Comment obtenir touch emplacement?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
//Get the specific point that was touched
CGPoint point = [touch locationInView:wbCont];
NSLog(@"X location: %f", point.x);
NSLog(@"Y Location: %f",point.y);
}
- (void)note:(id)sender {
}
- Le code que vous avez posté ne fonctionne pas?
- oui. Ce n'est pas montrer quoi que ce soit dans nslog
- Est touches de travail dans le simulateur?
Vous devez vous connecter pour publier un commentaire.
UIWebview est enveloppé à l'intérieur d'un UIScrollView. Par conséquent, les événements tactiles ne pas aller jusqu'à l'UIView où votre méthode reçoit les événements tactiles.
Pour votre UIViewController il doit mettre en œuvre UIGestureRecognizerDelegate
Puis ajoutez un geste pour votre webview:
Suivante:
Edit:
shouldRecognizeSimultaneouslyWithgesturerecognizer doit retourner OUI ainsi.
Essayez ceci :-
fonctionne très bien pour moi 😉
Il n'y a qu'une seule véritable voie fiable pour ce faire (que je connais):
Web vues sont extrêmement complexes, donc primordiale ceux
UIResponder
méthodes ou l'ajout d'un geste recognisers ne fonctionne pas. Malheureusement,hitTest:withEvent:
est appelé 3 fois sur chaque touche, de sorte que vous aurez à faire face à cela.