Unity 6.3
0 онлайн 101 гостей 3 в системе
Вход
UI системы Шаг 105 из 317

UnsignedLongField

UnsignedLongField позволяет пользователям вводить беззнаковое длинное целое число. Беззнаковое длинное целое число — это 64-битный датум, который кодирует неотрицательное целое число в диапазоне от 0 до 18446744073709551615. Вы можете установить текст замены для предоставления подсказок или инструкций пользователю о том, что вводить. Вы также можете добавить функции проверки, чтобы убедиться, что вводимые данные соответствуют определенным требованиям.

Примечание: Чтобы выравнить UnsignedLongField с другими полями в окне Inspector, просто примените .unity-base-field__aligned USS-класс. Дополнительные сведения см. в BaseField.

Создать UnsignedLongField

Вы можете создать UnsignedLongField с UI Builder, UXML или C#. Следующий код C# создает UnsignedLongField:

var unsignedLongField = new UnsignedLongField();

Установка текста замены

Вы можете установить текст замены для элемента. Вы также можете скрыть текст замены при фокусе.

Примечание: Заместитель текста не будет отображаться, если вы установите значение для элемента. Чтобы отменить установку значения в UI Builder, щелкните правой кнопкой Стоимость поле в элементе Inspector вкладку и выберите Отменить.

В C# используйте свойства placeholder и hidePlaceholderOnFocus через textEdition:

myElement.textEdition.placeholder = "Enter your value here";
myElement.textEdition.hidePlaceholderOnFocus = true;

Для стилизации текста замены используйте селектор .unity-base-text-field__input--placeholder USS.

Настройка выбора вводного текста

Вы можете настроить поведение выбора, например, selectAllOnMouseUP и selectAllOnFocus.

В C# установить их через textSelection:

myElement.textSelection.selectAllOnMouseUp = false;
myElement.textSelection.selectAllOnFocus = false;

Пример

Следующий пример UXML создает UnsignedLongField:

<UXML xmlns="UnityEngine.UIElements" xmlns:uie="UnityEditor.UIElements">
    <UnsignedLongField label="UXML Field" name="the-uxml-field" />
</UXML>

Следующий пример USS стилизует UnsignedLongField:

.some-styled-field {
    -unity-font-style: bold;
}

.some-styled-field .unity-base-field__input {
    -unity-font-style: italic;
}

Следующий пример C# иллюстрирует некоторые из настраиваемых функций UnsignedLongField:

// Get a reference to the field from UXML and assign a value to it.
var uxmlField = container.Q<UnsignedLongField>("the-uxml-field");
uxmlField.value = 42;

// Create a new field, disable it, and give it a style class.
var csharpField = new UnsignedLongField("C# Field");
csharpField.SetEnabled(false);
csharpField.AddToClassList("some-styled-field");
csharpField.value = uxmlField.value;
container.Add(csharpField);

// Mirror the value of the UXML field into the C# field.
uxmlField.RegisterCallback<ChangeEvent<ulong>>((evt) =>
{
    csharpField.value = evt.newValue;
});

Чтобы попробовать этот пример в Unity, перейдите в Окно > UI Toolkit > Образцы.

Базовый класс C# и пространство имён

C# класс: UnsignedLongField
Пространство имен: UnityEngine.UIElements
Базовый класс: TextValueField_1

Унаследованные атрибуты UXML

Этот элемент наследует от своего базового класса следующие атрибуты:

Имя Тип Описание
auto-correction boolean Определяет, включена или выключена автоматическая коррекция сенсорной клавиатуры.
binding-path string Путь к целевому свойству для привязки.
emoji-fallback-support boolean Указывает порядок, в котором система должна искать символы Emoji при отображении текста. Если этот параметр включен, поиск в глобальном резервном списке Emoji будет осуществляться сначала для символов, определенных как Emoji в стандарте Unicode 14.0.
focusable boolean Если false, то элемент не может быть фокусирован.

Элемент может быть фокусирован только в том случае, если его свойство canGrabFocus имеет значение true.
hide-mobile-input boolean Скрывает или показывает поле ввода мобильного устройства.
hide-placeholder-on-focus boolean Скрывает замещающий элемент при фокусе.
is-delayed boolean Если задано значение true, свойство value не обновляется, пока пользователь не нажмёт Enter или текстовое поле не потеряет фокус.
keyboard-type TouchScreenKeyboardType Тип мобильной клавиатуры, которая будет использоваться.
label string Строка, представляющая метку, которая будет отображаться рядом с полем. Если строка пуста, элемент label удаляется из иерархии. Если строка не пуста, элемент label добавляется в иерархию.
mask-character System.Char Символ, используемый для маскировки в поле пароля.
max-length int Максимальное количество символов для поля.
password boolean Возвращает true, если поле используется для редактирования пароля.
placeholder-text string Краткие подсказки, помогающие пользователям понять, что вводить в поле.
readonly boolean Возвращает true, если поле только для чтения.
select-all-on-focus boolean Управляет тем, выбирается ли содержимое элемента при получении фокуса.
select-all-on-mouse-up boolean Управляет выбором содержимого элемента при первом наведении курсора мыши вверх.
select-line-by-triple-click boolean Управляет тем, выбирает ли трехкратный щелчок всю строку под указателем мыши или нет.
select-word-by-double-click boolean Управляет тем, выбирает ли двойной щелчок слово под указателем мыши.
support-expressions boolean

Выражения — это математические или логические конструкции, такие как "1+1" или "5"2", которые могут быть обработаны для получения результата. Когда это свойство включено, поле принимает дополнительные символы, необходимые для выражений (e.g., '+', '-', '"', '/' и т.д.), расширяя его функциональность за пределы типичных ограничений текстового поля, которое в противном случае может разрешать только цифры.
tabindex int Целое число, используемое для сортировки фокусируемых элементов в кольце фокуса. Должно быть больше или равно нулю.

Установка значения tabIndex меньше 0 (например, −1) удаляет элемент из кольца фокуса и навигации по вкладкам.
value System.UInt64 Значение, связанное с полем.
vertical-scroller-visibility UIElements.ScrollerVisibility Опция для управления видимостью вертикальной прокрутки в TextInputBaseField_1.

Этот элемент также наследует следующие атрибуты от VisualElement:

Имя Тип Описание
content-container string Логический контейнер, в который добавляются дочерние элементы. Если к этому элементу добавляется дочерний элемент, то он добавляется в контейнер содержимого этого элемента.

При итерации над VisualElement.Children При использовании элемента вместо самого элемента используется иерархия контейнера содержимого элемента. Это может привести к неожиданным результатам, например, к игнорированию элементов событиями навигации, если они не находятся непосредственно в иерархической структуре контейнера. См. IFocusRing для больше информации.

Если контейнер содержимого совпадает с самим элементом, то дочерние элементы добавляются непосредственно к элементу. Это верно для большинства элементов, но может быть переопределено более сложными типами.

ScrollView, например, имеет контейнер содержимого, отличающийся от самого себя. В этом случае дочерние элементы, добавленные к представлению прокрутки, добавляются вместо этого к его элементу контейнера содержа-VisualElement.Hierarchy.parent) дочерних элементов является элементом контейнера содержимого прокрутки, их логическим родителем (VisualElement.parentПоскольку некоторые фокусируемые дочерние объекты представления прокрутки не являются частью его логической иерархии, такие как его Scroller элементов, эти фокусируемые дочерние элементы не рассматриваются по умолчанию при использовании последовательной навигации. Как я могу изменить, какой элемент будет фокусироваться дальше для примера решения, если правила навигации по умолчанию не соответствуют вашим потребностям.
data-source Object Назначает источник данных этому VisualElement, который переопределяет любой унаследованный источник данных. Этот источник данных наследуется всеми дочерними объектами.
data-source-path string Путь от источника данных к значению.
data-source-type System.Type Возможный тип источника данных, присваиваемый этому VisualElement.

Эта информация используется UI Builder только как подсказка для определенного заполнения поля пути источника данных, когда эффективный источник данных не может быть указан во время проектирования.
enabled boolean Возвращает true, если VisualElement разрешен локально.

Этот флаг не изменяется, если VisualElement имплицитно отключен одним из родителей. Чтобы проверить это, используйте enabledInHierarchy.
language-direction UIElements.LanguageDirection Указывает направленность текста элемента. Значение будет распространяться на дочерей элемента.

Установка languageDirection на RTL может получить только базовую поддержку RTL, такую как инверсия текста. Чтобы получить более полную поддержку RTL, такую как перерыв строки, перенос слов или формирование текста, вы должны включить Усовершенствованный текстовый генератор.
name string Имя этого VisualElement.

Используйте это свойство для написания селекторов USS, которые нацелены на определенный элемент. Стандартная практика заключается в том, чтобы дать элементу уникальное имя.
picking-mode UIElements.PickingMode Определяет, может ли этот элемент быть целью событий указателя или выбран IPanel.Pick запросов.

Элементы не могут быть выбраны, если:

- Они невидимы. style.display установлен на DisplayStyle.None

Элементы с режимом подбора PickingMode.Ignore никогда не получать псевдо-state.
style string Задает значения стиля на VisualElement.

Возвращаемые данные стиля, рассчитанные из USS файлы или встроенные стили, записанные в этот объект в C#, не представляет полностью разрешенные стили, такие как окончательная высота и ширина VisualElement. Чтобы получить доступ к этим полностью разрешенным стилям, используйте resolvedStyle.



Дополнительные сведения об использовании этого свойства и всех поддерживаемых USS свойства, см. Применить стили в C# сценарии и USS ссылка на свойства страницы руководства.
tooltip string Текст, который будет отображаться внутри информационного поля после того, как пользователь задержится над элементом небольшое время. Это поддерживается только в Редакторе UI.
usage-hints UIElements.UsageHints Комбинация значений подсказки, которые указывают высокоуровневые предполагаемые схемы использования для VisualElement. Это свойство может быть установлено только тогда, когда VisualElement еще не является частью Panel. Как только оно становится частью Panel, это свойство становится эффективно только для чтения, и попытки изменить его будут вызывать исключение. Указание правильного UsageHints заставляет систему принимать более правильные решения о том, как обрабатывать или ускорять определенные операции на основе предполагаемой схемы использования. Обратите внимание, что эти подсказки не влияют на поведение или визуальные результаты, а только влияют на общую производительность панели и элементов внутри нее. Рекомендуется всегда рассматривать возможность указания правильного UsageHints, но помните, что некоторые UsageHints могут быть внутренне проигнорированы при определенных условиях (e.g. из-за аппаратных ограничений на целевой платформе).
view-data-key string Используется для устойчивости данных представления, таких как развернутые состояния дерева, положение прокрутки или уровень масштаба.

Этот ключ используется для сохранения и загрузки данных представления из хранилища данных представления. Если этот ключ не установлен, устойчивость отключена для связанного VisualElement. Дополнительные сведения см. в разделе Устойчивость данных представления в руководстве Unity.

Классы USS

В таблице ниже перечислены все открытые имена свойств C# и связанные с ними селекторы USS.

C# собственность USS выбор Описание
ussClassName .unity-unsigned-long-field Имя USS-класса для элементов этого типа.
labelUssClassName .unity-unsigned-long-field__label Имя USS-класса для меток в элементах этого типа.
inputUssClassName .unity-unsigned-long-field__input Имя USS-класса для элементов ввода в элементах этого типа.
ussClassName .unity-base-text-field Имя USS-класса для элементов этого типа.
labelUssClassName .unity-base-text-field__label Имя USS-класса для меток в элементах этого типа.
inputUssClassName .unity-base-text-field__input Имя USS-класса для элементов ввода в элементах этого типа.
singleLineInputUssClassName .unity-base-text-field__input--single-line Имя USS-класса для однострочных элементов ввода в элементах этого типа.
multilineInputUssClassName .unity-base-text-field__input--multiline Имя USS-класса для многострочных элементов ввода в элементах этого типа.
placeholderUssClassName .unity-base-text-field__input--placeholder Имя USS-класса для элементов ввода, когда отображается текст-заполнитель
ussClassName .unity-base-field Имя USS-класса для элементов этого типа.
labelUssClassName .unity-base-field__label Имя USS-класса для меток в элементах этого типа.
inputUssClassName .unity-base-field__input Имя USS-класса для элементов ввода в элементах этого типа.
noLabelVariantUssClassName .unity-base-field--no-label Имя USS-класса для элементов этого типа, когда метка отсутствует.
labelDraggerVariantUssClassName .unity-base-field__label--with-dragger Имя USS-класса для меток в элементах этого типа, когда к ним прикреплён ползунок перетаскивания.
mixedValueLabelUssClassName .unity-base-field__label--mixed-value Имя USS-класса для элементов, отображающих смешанные значения
alignedFieldUssClassName .unity-base-field__aligned Имя USS-класса для элементов, выровненных внутри элемента инспектора
disabledUssClassName .unity-disabled Имя USS-класса для локально отключённых элементов.

Вы также можете использовать раздел Соответствующие селекторы в отладчике Inspector или UI Toolkit, чтобы увидеть, какие селекторы USS влияют на компоненты VisualElement на каждом уровне его иерархии.

Дополнительные ресурсы