ROBLOX — Читаемый текст на всех устройствах или связка: TextScaled + UITextSizeConstraint

Автор: | 5 января, 2022
Поделиться...

Текстовые кнопки и метки — читаемый текст на всех устройствах.

Рассмотрим очень простой пример часто используемого параметра для текста: TextScaled

Стандартно добавленная текстовая метка выглядит на экране так:


image


Прочитать её на мобильном устройстве, да даже на экране компьютера — проблематично. Поэтому часто ставится галочка TextScaled — подогнать размер текста под контейнер (блок содержащий данный элемент). Потому как установка большего размера текста в TextSize , в итоге поломает всё на мобильных устройствах.

image


Как видим, данный текст уже можно будет прочитать на любом устройстве. Вот только…
Представим, что у нас есть несколько контейнеров с текстом с разным количеством текста.

image


Наблюдаем картину того, что мало текста у нас упираются в ограничитель максимального размера (буквы могли бы быть и больше), а большой текст становится мелким. И что самое не красивое это то, что наши тексты стали разного размера!

И вот тут нам на помощь приходит элемент UITextSizeConstraint. Назначение у него очень простое — ограничение максимального и минимального размера текста в родительском контейнере.

Выставим ему значения 12 и 40 соответственно для минимума и максимума.
image
С 12 текст ещё можно как-то прочитать на мобильных устройствах, а свыше 48 он через чур большой даже для ПК (хотя там хватает и 36, но для экранов большого разрешения 36 уже мало).
Лично я предпочитаю использовать размеры кратные 8, вместо 4.
Итак, что у нас получилось?

image


На ПК выглядит пристойно. Посмотрим на мобилках?
На IPhone 7 два примера сохранили размер шрифта, а длинный текст в малом окне снизил свой размер. Но всё равно всё читаемо.

image


На IPhone4S (самый маленький экран) поменялись два шрифта, но всё равно всё читаемо.

image

На всех планшетах выглядит хорошо. Но, что же будет когда упрётся в минимальный размер? А вот что — наш текст просто обрежется в попытке сохранить его размер:
image

Да, есть TextWraped и TextTrancate, можно и с ними поиграться. Но это мало даст нам в плане… эстетического наслаждения.


Поделиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *