Texteingabe in Xamarin.iOS
Das Akzeptieren von Benutzertexteingaben erfolgt für UITextField
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 Toolbox Pad in Visual Studio für Mac befinden:
Nachdem Sie den Ausgang 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 auf Die Klassendatei verweist. Jedes Steuerelement verfügt über eigene eindeutige Eigenschaften und Ereignisse, auf die im C#-Code zugegriffen werden kann.
UITextField
Das UITextField
Steuerelement wird am häufigsten verwendet, um eine einzelne Textzeile wie einen Benutzernamen oder ein Kennwort zu akzeptieren. Hier sind einige der optionen zum Anpassen des Steuerelements verfügbar:
Diese Steuerelemente werden unten erläutert:
- Platzhalter – Dies ist optional. Wenn festgelegt, wird es angezeigt, wenn das Textfeld leer ist, in der Regel, um dem Benutzer zu erklären, welche Eingabe erwartet wird.
- Schaltfläche löschen – Dies steuert, wenn die Standard-Schaltfläche "Löschen" (der graue Kreis mit (X)) im Textfeld angezeigt wird, um dem Benutzer das schnelle Löschen von Text zu ermöglichen. Es kann dauerhaft ausgeblendet, dauerhaft sichtbar oder angezeigt werden, je nachdem, ob das Feld bearbeitet wird.
- Min Font Size and Adjust to Fit – Allows the font size to be adjust automatically to fit longer text and prevent truncation, but limited to no smaller than the specified size.
- Großschreibung – Ganz gleich, ob Wörter, Sätze oder alle Eingaben automatisch großgeschrieben werden sollen.
- Korrektur – Gibt an, ob die Rechtschreibprüfung und Vorschläge aktiviert sind.
- Tastatur – Steuert das für die Eingabe angezeigte Tastaturformat und daher, welche Tasten auf der Tastatur verfügbar sind. Dazu gehören Nummernkreuz, Telefon Pad, E-Mail, URL sowie andere Optionen.
- Darstellung – Steuert die Darstellungsart der Tastatur und ist entweder dunkel oder hell.
- Rückgabetaste – Ändern Sie die Beschriftung auf der Eingabetaste, 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 aufgerufenes UITextField textfield1
zu 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 Aufzählungen bereit, um die gewünschten Einstellungen wie z. B. den UIKeyboardType
UIReturnKeyType
obigen Codeausschnitt auszuwählen.
Programmgesteuertes Anzeigen von Text
Wenn Sie Ihren Bildschirm nicht mit dem Designer entwerfen möchten oder wenn Sie text dynamisch zur Laufzeit hinzufügen möchten, können Sie ein UITextField 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 zum Anzeigen von schreibgeschütztem Text oder zum Akzeptieren von mehrzeiligen Texteingaben verwendet werden. Es hat viele der gleichen Optionen wie die UITextField
(z. B. Großschreibung, Korrektur usw.).
Zu den spezifischen Eigenschaften gehören:
- Verhalten – Ob der Text bearbeitbar oder schreibgeschützt ist.
- Erkennung – Erkennt und konvertiert die eingegebenen Daten in klickbare Elemente wie Telefonnummern, die einen Anruf auslösen können, Adressen, die Zuverknüpfungen zu Karten 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;