Partager via


Entrée de texte dans Xamarin.iOS

L’acceptation de l’entrée de texte utilisateur est effectuée avec les entrées monolignes et UITextView pour le UITextField texte modifiable à plusieurs lignes. Vous pouvez faire glisser l’un de ces contrôles sur un écran et double-cliquer pour définir le texte initial.

Les captures d’écran ci-dessous montrent les icônes de ces contrôles, situées dans le Panneau Boîte à outils dans Visual Studio pour Mac :

UITextField

UITextView

Une fois que vous avez nommé la sortie et enregistré le fichier Storyboard, Visual Studio pour Mac met à jour la .designer.cs classe partielle et vous pouvez ajouter du code C# qui référence le contrôle à votre fichier de classe. Chaque contrôle a ses propres propriétés et événements uniques accessibles dans votre code C#.

UITextField

Le UITextField contrôle est le plus souvent utilisé pour accepter une seule ligne d’entrée de texte, telle qu’un nom d’utilisateur ou un mot de passe. Voici quelques-unes des options disponibles pour la personnalisation du contrôle :

Propriétés UITextField

Ces contrôles sont expliqués ci-dessous :

  • Espace réservé : il s’agit d’un espace réservé facultatif. Si elle est définie, elle s’affiche lorsque le champ de texte est vide, généralement pour expliquer à l’utilisateur quelle entrée est attendue.
  • Bouton Effacer : cette option contrôle quand le bouton clair standard (le cercle gris avec (X)) apparaît dans le champ de texte, afin que l’utilisateur efface rapidement le texte. Il peut être masqué, visible définitivement ou affiché, selon que le champ est en cours de modification ou non.
  • Min Font Size and Adjust to Fit : permet d’ajuster automatiquement la taille de police pour ajuster le texte plus long et d’empêcher la troncation, mais limitée à pas plus petite que la taille spécifiée.
  • Mise en majuscules : indique s’il faut mettre automatiquement en majuscule les mots, les phrases ou toutes les entrées.
  • Correction : indique si l’orthographe case activée et les suggestions sont activées.
  • Clavier : contrôle le style de clavier affiché pour l’entrée, et par conséquent les touches disponibles sur le clavier. Cela inclut le pavé numérique, le panneau Téléphone, l’adresse e-mail, l’URL ainsi que d’autres options.
  • Apparence : contrôle le style d’apparence du clavier et sera soit sombre, soit clair.
  • Clé de retour : modifiez l’étiquette sur la clé de retour pour mieux refléter l’action qui sera effectuée. Les valeurs prises en charge incluent Go, Join, Next, Route, Done et Search.
  • Sécurisé : identifie si l’entrée est masquée (par exemple, pour une entrée de mot de passe).

Si un UITextField appelé textfield1 a été ajouté à un écran avec le concepteur, vous pouvez définir ou modifier ses propriétés en C# comme suit :

textfield1.Placeholder = "type email here...";
textfield1.KeyboardType = UIKeyboardType.EmailAddress;
textfield1.ReturnKeyType = UIReturnKeyType.Send;
textfield1.MinimumFontSize = 17f;
textfield1.AdjustsFontSizeToFitWidth = true;

Xamarin.iOS fournit des énumérations le cas échéant pour faciliter la sélection des paramètres souhaités, tels que l’extrait UIKeyboardType de code ci-dessus et UIReturnKeyType dans l’extrait de code ci-dessus.

Afficher du texte par programmation

Si vous ne souhaitez pas concevoir votre écran avec le concepteur ou si vous souhaitez ajouter dynamiquement du texte au moment de l’exécution, vous pouvez créer et afficher un UITextField par programmation dans la ViewDidLoad méthode d’un contrôleur de vue comme suit :

var frame = new CGRect(10, 10, 300, 40);
textfield1 = new UITextField(frame);
View.Add(textfield1);

UITextView

Le UITextView contrôle peut être utilisé pour afficher du texte en lecture seule ou pour accepter une entrée de texte à plusieurs lignes. Il a de nombreuses options identiques à celles de l’option UITextField (par exemple, mise en majuscules, correction, etc.).

Propriétés UITextView

Les propriétés spécifiques sont les suivantes :

  • Comportement : indique si le texte est modifiable ou en lecture seule.
  • Détection : détecte et convertit les données entrées en éléments cliquables tels que les numéros de téléphone qui peuvent déclencher un appel, des adresses qui deviennent des liens vers des Cartes, des URL qui s’ouvrent dans Safari ou des dates et heures qui deviennent des événements dans le calendrier.

Si un UITextView a été ajouté à un écran avec le concepteur, vous pouvez définir ou modifier ses propriétés comme suit :

textview1.Text = "Lorem ipsum..."; // lots of text can go here
textview1.Editable = true;
textview1.DataDetectorTypes = UIDataDetectorType.PhoneNumber | UIDataDetectorType.Link;