2016-02-05 3 views
0

Je travaille sur une application Web qui sera accessible depuis iOS UIWebView. Lorsque l'utilisateur touche un champ de saisie, le UIWebView ouvre automatiquement le clavier. Tout va bien jusqu'à ce point.Fermer le clavier dans UIWebView

Maintenant, lorsque l'utilisateur tape n'importe où sur la page, je souhaite fermer le clavier. Quelle serait la méthode pour le faire.

J'ai essayé code suivant mais cela n'a pas fonctionné pour moi -

  $(document).on("tap", function (e) { 
 
       document.activeElement.blur(); 
 
      });

+0

Désolé, j'ai oublié de mentionner que je suis à la recherche d'une solution Javascript à ce problème. – Gaurav

Répondre

0

Essayez quelque chose comme

document.foo.bar.myinput.blur(); 
0

Je pense que ça va vous aider.

[myWebView stringByEvaluatingJavaScriptFromString:@"document.activeElement.blur()"]; 
0

Si vous voulez une option non-Javascript:

Commencez par ajouter un UITapGestureRecognizer à votre UIWebView dans votre ViewDidLoad:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissWebViewKeyboard)]; 
    [self.webView addGestureRecognizer:tapGesture]; 

    //the rest of your initialization code goes here 
} 

Et puis, ajoutez votre méthode dismissWebViewKeyboard, qui vient extrémités retouche sur votre UIWebView:

- (void)dismissWebViewKeyboard 
{ 
    [self.webView endEditing:YES]; 
} 

Et cela devrait le faire!