2011-09-20 4 views
0

Avant de considérer inutile ma réimplantation personnalisée faible-longue de UITextView (en utilisant un UIWebView dans designMode), y a-t-il un moyen de gérer/annuler les événements javaScript onKeyUp, etc. Je ne vois que des messages via -shouldLoadRequest: & stringByEvaluatingScriptWithString:. Toutefois, ces appels sont asynchrones et le gestionnaire d'événements javaScript a déjà quitté sa fonction au moment où stringByEvaluatingScriptWithString: est exécuté, donc les méthodes d'annulation d'événement ne fonctionnent pas.Annulation d'un événement javaScript à partir d'un UIWebViewDelegate

Si ce n'est pas le cas, l'implémentation de shouldReplaceCharactersInString: semble impossible. :(

Répondre

1

Peut-être que vous pouvez vérifier ma implémentation open source d'un navigateur « Safari comme »: https://github.com/sylverb/CIALBrowser

Dans celui-ci, je l'ai fait réimplémenter le traitement à long du robinet, et désactiver le standard, j'utilise cette :....

- (void) webViewDidFinishLoad:(UIWebView *) sender 
{ 
    // Disable the defaut actionSheet when doing a long press 
    [webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none';"]; 
    [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"]; 
} 
+0

Désolé pour le retard, je pensais que je mets donc pour moi d'envoyer des informations par email mais je ne recevais jamais tout ce que je vais essayer de regarder par-dessus demain – Anderson

+0

Merci pour votre réponse Je crois en votre cas, vous fondamentalement déconnecté le gestionnaire d'événements js et à la place géré l'événement tactile iOS en mode natif – Anderson

+0

Dans mon cas, iOS n'autorise pas le traitement natif des événements clés, ce qui ne fonctionnerait pas. – Anderson

Questions connexes