Polices et entrée de texte

Utilisez de préférence les polices de périphérique. L’iPhone utilise par exemple les polices de périphérique suivantes :

  • Serif : Times New Roman, Georgia et _serif

  • Sans-serif : Helvetica, Arial, Verdana, Trebuchet, Tahoma et _sans

  • Largeur fixe : Courier New, Courier et _typewriter

Utilisez des polices dont la taille est supérieure ou égale à 14 pixels.

Utilisez les polices de périphérique pour les champs de texte modifiables. Les polices de périphérique s’affichent également plus rapidement dans les champs de texte que les polices incorporées.

N’utilisez pas de texte souligné dans les champs de texte de saisie. Ne définissez pas non plus l’alignement des champs de texte. Sur l’iPhone, les champs de texte de saisie ne gèrent que l’alignement à gauche (valeur par défaut).

Si vous faites appel au paramètre Texte TLF pour un champ de texte dans Flash Professional CS5, désactivez la bibliothèque partagée à l’exécution dans la liaison par défaut dans Paramètres d’ActionScript 3.0. Si vous ne désactivez pas ce paramètre, l’application ne fonctionne pas sur l’iPhone, car elle essaie d’exécuter le fichier SWF issu de la bibliothèque partagée à l’exécution :

  1. Sélectionnez Fichier > Paramètres de publication.

  2. Dans la boîte de dialogue Paramètres de publication, cliquez sur l’onglet Flash.

  3. Cliquez sur le bouton Script figurant sur la droite de la liste déroulante Script (ActionScript 3.0).

  4. Cliquez sur l’onglet Chemin d’accès à la bibliothèque.

  5. Dans la liste déroulante Liaison par défaut, sélectionnez Fusionné dans le code.

Envisagez de substituer d’autres solutions aux champs de texte de saisie. Il est, par exemple, inutile d’inviter l’utilisateur à entrer une valeur numérique dans un champ de texte. Proposez deux boutons pour augmenter ou réduire la valeur.

Tenez compte de la place qu’occupe le clavier virtuel. Lorsque le clavier virtuel est activé (si l’utilisateur touche un champ de texte, par exemple), l’application ajuste la position de la scène. Le repositionnement automatique assure la visibilité du champ de texte de saisie sélectionné :

  • Un champ de texte figurant dans le haut de la scène se déplace vers le haut de la zone de scène visible. (La taille de la zone de scène visible est inférieure en raison de la présence du clavier virtuel.)

  • Un champ de texte figurant dans le bas de la scène demeure au bas de la nouvelle zone de scène.

  • Un champ de texte figurant dans une autre partie de la scène se déplace vers le centre vertical de la scène.

Lorsque l’utilisateur clique sur un champ de texte pour le modifier (et que le clavier virtuel est affiché), l’objet TextField distribue un événement focusIn . Vous pouvez associer un écouteur à cet événement pour repositionner le champ de texte.

Un champ de texte d’une seule ligne comprend un bouton Effacer (situé sur la droite du texte) lorsque l’utilisateur modifie le texte. Ce bouton Effacer ne s’affiche toutefois pas si le champ de texte est trop étroit.

Après avoir modifié le contenu d’un champ de texte d’une seule ligne, l’utilisateur ferme le clavier virtuel en appuyant brièvement sur la touche Terminé du clavier.

Après avoir modifié le contenu d’un champ de texte de plusieurs lignes, l’utilisateur ferme le clavier virtuel en appuyant brièvement en dehors du champ de texte. Le focus quitte alors le champ de texte. Assurez-vous que le champ de texte est entouré d’un espace dans l’application lorsque le clavier virtuel est affiché. Si la taille du champ de texte est trop élevée, celui-ci masque toutes les autres zones.

L’utilisation de certains composants Flash Professional CS5 interdit parfois le déplacement du focus à partir d’un champ de texte. Ces composants (TextArea, par exemple) sont conçus pour être utilisés sur un ordinateur de bureau, où ce comportement est souhaitable. Lorsqu’un champ de texte reçoit le focus (et qu’il est en cours de modification), il est impossible de déplacer ce dernier en cliquant sur un autre objet d’affichage. L’ajout d’autres composants Flash Professional CS5 sur la scène risque également d’interdire le déplacement du focus à partir du champ de texte en cours de modification.

Ne vous fiez pas aux événements de clavier. Un contenu SWF adapté au Web fait, par exemple, appel au clavier pour permettre à l’utilisateur de contrôler l’application. Toutefois, sur l’iPhone, le clavier virtuel n’est affiché que lorsque l’utilisateur modifie un champ de texte. Une application iPhone ne distribue un événement de clavier que lorsque le clavier virtuel est affiché.