Udostępnij za pośrednictwem


Wprowadzanie tekstu na platformie Xamarin.iOS

Akceptowanie danych wejściowych tekstu użytkownika jest realizowane za pomocą UITextField funkcji dla danych wejściowych jednowierszowych i elementu UITextView w przypadku tekstu z możliwością edycji wielowierszowej. Możesz przeciągnąć jedną z tych kontrolek na ekran i kliknąć dwukrotnie, aby ustawić tekst początkowy.

Na poniższych zrzutach ekranu przedstawiono ikony tych kontrolek znajdujące się w okienku przybornika w Visual Studio dla komputerów Mac:

UITextField

UITextView

Po nazwaniu gniazda i zapisaniu pliku Storyboard Visual Studio dla komputerów Mac zaktualizuje .designer.cs klasę częściową i możesz dodać kod języka C#, który odwołuje się do kontrolki do pliku klasy. Każda kontrolka ma własne unikatowe właściwości i zdarzenia, do których można uzyskać dostęp w kodzie języka C#.

UITextField

Kontrolka UITextField jest najczęściej używana do akceptowania pojedynczego wiersza tekstu, takiego jak nazwa użytkownika lub hasło. Poniżej przedstawiono niektóre opcje dostosowywania kontrolki:

Właściwości UITextField

Te kontrolki zostały wyjaśnione poniżej:

  • Symbol zastępczy — jest to opcjonalne. W przypadku ustawienia jest on wyświetlany, gdy pole tekstowe jest puste, zwykle w celu wyjaśnienia użytkownikowi, jakie dane wejściowe są oczekiwane.
  • Wyczyść przycisk — określa, kiedy standardowy przycisk wyczyść (szary okrąg z (X)) pojawia się w polu tekstowym, co pozwala użytkownikowi szybko wyczyścić tekst. Może być trwale ukryta, trwale widoczna lub wyświetlana w zależności od tego, czy pole jest edytowane.
  • Minimalny rozmiar czcionki i Dopasuj dopasuj — umożliwia automatyczne dostosowanie rozmiaru czcionki w celu dopasowania do dłuższego tekstu i uniemożliwienie obcinania, ale ograniczone do rozmiaru nie mniejszego niż określony rozmiar.
  • Wielkie litery — czy automatycznie wielką literą są wyrazy, zdania czy wszystkie dane wejściowe.
  • Korekta — określa, czy włączono sprawdzanie pisowni i sugestie.
  • Klawiatura — steruje stylem klawiatury wyświetlanym dla danych wejściowych i w związku z tym, jakie klawisze są dostępne na klawiaturze. Obejmuje to konsolę numerów, Telefon Pad, Adres e-mail, adres URL oraz inne opcje.
  • Wygląd — określa styl wyglądu klawiatury i będzie ciemny lub jasny.
  • Return Key — zmień etykietę na klawisz Return, aby lepiej odzwierciedlić akcję, która zostanie podjęta. Obsługiwane wartości to Go, Join, Next, Route, Done i Search.
  • Secure — określa, czy dane wejściowe są maskowane (na przykład dla danych wejściowych hasła).

Jeśli pole UITextField o nazwie textfield1 zostało dodane do ekranu za pomocą projektanta, możesz ustawić lub zmienić jego właściwości w języku C# w następujący sposób:

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

Platforma Xamarin.iOS udostępnia wyliczenia tam, gdzie jest to konieczne, aby ułatwić wybór żądanych ustawień, takich jak UIKeyboardType i UIReturnKeyType w powyższym fragmencie kodu.

Programowe wyświetlanie tekstu

Jeśli nie chcesz projektować ekranu za pomocą projektanta lub jeśli chcesz dynamicznie dodać jakiś tekst w czasie wykonywania, możesz utworzyć i wyświetlić pole UITextField programowo w ViewDidLoad metodzie kontrolera widoku w następujący sposób:

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

UITextView

Kontrolka UITextView może służyć do wyświetlania tekstu tylko do odczytu lub akceptowania wprowadzania tekstu w wielu wierszach. Ma wiele takich samych opcji jak UITextField (takich jak wielkie litery, korekta itp.).

Właściwości elementu UITextView

Określone właściwości obejmują:

  • Zachowanie — określa, czy tekst jest edytowalny, czy tylko do odczytu.
  • Wykrywanie — wykrywa i konwertuje wprowadzone dane na klikalne elementy, takie jak numery telefonów, które mogą wyzwolić połączenie, adresy, które stają się linkami do Mapy, adresy URL otwierane w przeglądarce Safari lub daty i godziny, które stają się zdarzeniami w kalendarzu.

Jeśli element UITextView został dodany do ekranu z projektantem, możesz ustawić lub zmienić jego właściwości w następujący sposób:

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