Бөлісу құралы:


Ввод текста в Xamarin.iOS

Прием ввода текста пользователя осуществляется с UITextField помощью однострочных входных данных и UITextView для многострочного редактируемого текста. Вы можете перетащить любой из этих элементов управления на экран и дважды щелкнуть, чтобы задать исходный текст.

На снимках экрана ниже показаны значки для этих элементов управления, расположенные на панели элементов в Visual Studio для Mac:

UITextField

UITextView

После того как вы назвали выход и сохранили файл Раскадровки, Visual Studio для Mac обновит .designer.cs частичный класс и вы можете добавить код C#, ссылающийся на элемент управления в файл класса. Каждый элемент управления имеет собственные уникальные свойства и события, к которым можно получить доступ в коде C#.

UITextField

Элемент UITextField управления чаще всего используется для принятия одной строки ввода текста, например имени пользователя или пароля. Ниже приведены некоторые варианты настройки элемента управления:

Свойства UITextField

Ниже описаны следующие элементы управления:

  • Заполнитель — это необязательно. Если задано, оно отображается при пустом текстовом поле, как правило, чтобы объяснить пользователю, какие входные данные ожидаются.
  • Кнопка "Очистить" — это элементы управления, когда стандартная кнопка очистки (серый круг с (X)) отображается в текстовом поле в качестве способа быстрого очистки текста пользователем. Она может быть постоянно скрыта, постоянно видна или показана в зависимости от того, редактируется ли поле.
  • Min Font Size and Adjust to Fit — позволяет настроить размер шрифта автоматически, чтобы поместить более длинный текст и предотвратить усечение, но ограничено не меньше указанного размера.
  • Заглавная буква — следует ли автоматически прописные слова, предложения или все входные данные.
  • Исправление— включена ли проверка орфографии и предложения.
  • Клавиатура — управляет стилем клавиатуры, отображаемым для ввода, и поэтому ключи доступны на клавиатуре. Это включает номерную панель, Телефон панель, электронную почту, URL-адрес вместе с другими параметрами.
  • Внешний вид — управляет стилем внешнего вида клавиатуры и будет либо темным, либо светлым.
  • Возвращаемый ключ— измените метку на ключе return, чтобы лучше отразить, какие действия будут приняты. Поддерживаемые значения: Go, Join, Next, Route, Done и Search.
  • Безопасный — определяет, маскируются ли входные данные (например, для ввода пароля).

Если вызывается textfield1 UITextField, добавленный на экран с помощью конструктора, можно задать или изменить его свойства в C# следующим образом:

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

Xamarin.iOS предоставляет перечисления, где это необходимо, чтобы упростить выбор нужных параметров, таких как UIKeyboardType и UIReturnKeyType в приведенном выше фрагменте кода.

Отображение текста программным способом

Если вы не хотите создавать экран с помощью конструктора или динамически добавлять текст во время выполнения, можно создать и отобразить UITextField программным способом в ViewDidLoad методе контроллера представления следующим образом:

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

UITextView

Элемент UITextView управления можно использовать для отображения текста, доступного только для чтения, или для приема ввода текста с несколькими строками. Он имеет множество таких же вариантов, как UITextField (например, прописная буква, исправление и т. д.).

Свойства UITextView

К определенным свойствам относятся:

  • Поведение — является ли текст редактируемым или доступны только для чтения.
  • Обнаружение — обнаруживает и преобразует входные данные в доступные для щелчка элементы, такие как номера телефонов, которые могут активировать звонок, адреса, которые становятся ссылками на Карты, URL-адреса, которые открываются в Safari или датах и времени, которые становятся событиями в календаре.

Если UITextView был добавлен на экран с конструктором, можно задать или изменить его свойства следующим образом:

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