61 votes

iPhone UIWebview: Comment forcer un clavier numérique? C'est possible?

Je suis en train d'expérimenter avec PhoneGap pour le développement de certaines applications de l'iPhone. PhoneGap fondamentalement enroule une UIWebView - il fonctionne bien. Le problème, c'est l'une de mes applications a plusieurs champs de saisie que de prendre uniquement les entrées numériques. J'ai vraiment besoin de forcer le pavé numérique au lieu d'accepter le clavier standard par défaut, ce qui oblige ensuite à l'utilisateur de basculer vers le numérique sur tous les domaines. Personne ne sait si cela est possible? Comment?

Précisions: Je sais que Apple ne dispose pas actuellement de fournir une API pour permettre cela. Je me demandais si le fait de créer une classe personnalisée qui a hérité de UIWebView peut aider, ou peut-être la création d'un clavier personnalisé permettrait d'ouvrir certaines possibilités?

La mise à jour 6 Nov 2009 - Comme indiqué ci-dessous, Apple a récemment mis à jour safari de la fonctionnalité, de sorte que c'est, une fois de plus, pris en charge. Si l'on a accepté la réponse a été modifié pour refléter ce fait.

 <html>
<input type='tel'/>
<input type='number'/>
<input type='email'/>
<input />
</html>

Le ci-dessus affiche désormais le suivant, dans l'ordre:

  • alt text
  • alt text
  • alt text
  • alt text

74voto

Chris Huseman Points 826

Il ressemble Mobile Safari prend en charge la nouvelle entrée HTML5 attributs du type d' e-mail, numéro de, de recherche, tel, et url. Ces basculer le clavier qui s'affiche. Voir l'attribut type.

Ainsi, par exemple, vous pourriez faire ceci:

<input type="number" />

Et lorsque la zone d'entrée est activé, le clavier numérique est affiché (comme si l'utilisateur avait la pleine clavier et appuyez sur la "123" bouton.

Si vous ne souhaitez que des numéros, vous pouvez spécifier:

<input type="tel" />

Et ensuite, l'utilisateur d'obtenir le numéro de téléphone de numérotation clavier.

Je sais que cela fonctionne avec le navigateur Safari Mobile -- je suppose qu'il va travailler avec UIWebView.

31voto

jon__o Points 558

J'ai trouvé une meilleure solution consiste à utiliser <input type="text" pattern="[0-9]*"> lors de la conception de formulaires pour les navigateurs mobiles et de bureau.

4voto

ashcatch Points 1464

À partir de la documentation d'Apple (la remarque sur la UIWebView):

Vous ne pouvez pas spécifier le type de clavier dans les éléments d'entrée. La vue web affiche un clavier personnalisé qui est basée sur le clavier par défaut, mais inclut des commandes supplémentaires pour naviguer entre les éléments de formulaire.

4voto

Leon Guan Points 95

Vérifié sur IPhone OS 3.0, cette fonctionnalité n’était toujours pas là, pas sûr de la raison pour laquelle Apple vient de supprimer cette fonctionnalité pratique, vraiment contrariée de pouvoir y travailler maintenant :(

3voto

Chris Points 31

Voici une liste de tous les types compatibles avec les vues Web iOS (4.0 et versions supérieures):

http://conecode.com/news/2011/12/mobile-safari-uiwebview-input-types/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X