Texteingabe in Xamarin.iOS

Die Annahme von Benutzertexteingaben erfolgt mit der UITextField für einzeilige Eingaben und UITextView für mehrzeiligen bearbeitbaren Text. Sie können eines dieser Steuerelemente auf einen Bildschirm ziehen und doppelklicken, um den Anfangstext festzulegen.

Die folgenden Screenshots zeigen die Symbole für diese Steuerelemente, die sich im Toolboxpad in Visual Studio für Mac befinden:

UITextField

UITextView

Nachdem Sie das Outlet benannt und die Storyboarddatei gespeichert haben, aktualisiert Visual Studio für Mac die .designer.cs Partielle Klasse, und Sie können C#-Code hinzufügen, der auf das Steuerelement verweist, zu Ihrer Klassendatei. Jedes Steuerelement verfügt über eigene eindeutige Eigenschaften und Ereignisse, auf die in Ihrem C#-Code zugegriffen werden kann.

UITextField

Das UITextField -Steuerelement wird am häufigsten verwendet, um eine einzelne Textzeile zu akzeptieren, z. B. einen Benutzernamen oder ein Kennwort. Einige der verfügbaren Optionen zum Anpassen des Steuerelements werden hier gezeigt:

UITextField-Eigenschaften

Diese Steuerelemente werden unten erläutert:

  • Platzhalter : Dies ist optional. Wenn festgelegt, wird es angezeigt, wenn das Textfeld leer ist, um dem Benutzer zu erklären, welche Eingabe erwartet wird.
  • Schaltfläche löschen : Dadurch wird gesteuert, wann die standardmäßige Schaltfläche zum Löschen (der graue Kreis mit (X)) im Textfeld angezeigt wird, um text schnell zu löschen. Es kann dauerhaft ausgeblendet, dauerhaft sichtbar oder angezeigt werden, je nachdem, ob das Feld bearbeitet wird oder nicht.
  • Minimaler Schriftgrad und Anpassung anpassen : Ermöglicht es, den Schriftgrad automatisch anzupassen, um längeren Text anzupassen und zu verhindern, dass abgeschnitten wird, aber auf nicht kleiner als die angegebene Größe beschränkt ist.
  • Groß-/Kleinschreibung : Gibt an, ob Wörter, Sätze oder alle Eingaben automatisch großgeschrieben werden sollen.
  • Korrektur : Gibt an, ob Rechtschreibprüfung und Vorschläge aktiviert sind.
  • Tastatur : Steuert den Tastaturstil, der für die Eingabe angezeigt wird, und damit, welche Tasten auf der Tastatur verfügbar sind. Dazu gehören Nummernblock, Telefonpad, Email, URL sowie andere Optionen.
  • Darstellung : Steuert die Darstellungsart der Tastatur und ist entweder dunkel oder hell.
  • Rückgabetaste : Ändern Sie die Bezeichnung für die Rückgabetaste, um besser widerzuspiegeln, welche Aktion ausgeführt wird. Unterstützte Werte sind Go, Join, Next, Route, Done und Search.
  • Sicher : Gibt an, ob die Eingabe maskiert ist (z. B. für eine Kennworteingabe).

Wenn ein UITextField mit dem Namen textfield1 einem Bildschirm mit dem Designer hinzugefügt wurde, können Sie dessen Eigenschaften in C# wie folgt festlegen oder ändern:

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

Xamarin.iOS stellt bei Bedarf Enumerationen bereit, um die gewünschten Einstellungen wie UIKeyboardType und UIReturnKeyType im obigen Codeausschnitt auszuwählen.

Programmgesteuertes Anzeigen von Text

Wenn Sie Ihren Bildschirm nicht mit dem Designer entwerfen möchten oder wenn Sie zur Laufzeit dynamisch Text hinzufügen möchten, können Sie ein UITextField-Element programmgesteuert in der ViewDidLoad Methode eines Ansichtscontrollers wie folgt erstellen und anzeigen:

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

UITextView

Das UITextView Steuerelement kann verwendet werden, um schreibgeschützten Text anzuzeigen oder mehrzeilige Texteingaben zu akzeptieren. Es verfügt über viele der gleichen Optionen wie die UITextField (z. B. Groß-/Kleinschreibung, Korrektur usw.).

UITextView-Eigenschaften

Zu den spezifischen Eigenschaften gehören:

  • Verhalten : Gibt an, ob der Text bearbeitbar oder schreibgeschützt ist.
  • Erkennung : Erkennt und konvertiert die eingegebenen Daten in anklickbare Elemente, z. B. Telefonnummern, die einen Anruf auslösen können, Adressen, die zu Links zu Zuordnungen werden, URLs, die in Safari geöffnet werden, oder Datums- und Uhrzeitangaben, die zu Ereignissen im Kalender werden.

Wenn einem Bildschirm mit dem Designer eine UITextView hinzugefügt wurde, können Sie dessen Eigenschaften wie folgt festlegen oder ändern:

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