В единстве, как установить Высота текста, чтобы убедиться, что хотя бы одна строка - PullRequest
0 голосов
/ 20 сентября 2018

Смотрите мой скриншот.Когда размер шрифта равен 14, высота должна быть не менее 19, чтобы показать одну строку текста.Когда размер шрифта равен 30, высота должна быть не менее 41, чтобы показать одну строку текста.Если я знаю размер шрифта текста, есть ли формула для получения текста # minHeight?

enter image description here

enter image description here

Ответы [ 3 ]

0 голосов
/ 20 сентября 2018

Я нахожу решение tmp. Если мне нужно убедиться, что текст отображается в аренду одной строкой, я могу установить

Горизонтальное переполнение: переполнение

Вертикальное переполнение: переполнение

enter image description here

он всегда будет отображать текст, но может показывать несколько строк, поэтому, если я хочу показать только одну строку, мне нужен другой способ

0 голосов
/ 20 сентября 2018

Вероятно, это связано с тем, как создаются шрифты

Font Design

В данном случае нас интересует разница между фиолетовыми и зелеными линиямиплюс разница между синим и оранжевым.«Размер» шрифта - это высота между зеленой и синей линиями (грубо говоря).Некоторые шрифты могут быть спроектированы так, чтобы быть выше или короче этого стандарта, но то, как система их отображает, будет основано на стандарте (и в результате может отображаться неправильно). Вот почему некоторые шрифты одинакового размера выглядят меньше.

Наряду с некоторыми цифрами из этого ответа , вашим собственным постом и некоторыми дополнительными, возитесь вUnity ...

Ваша высота текста должна быть Math.Ceil(font_size * 1.35) в размере ... но этот множитель зависит от конкретного шрифта, который вы используете!Стандартный шрифт Unity Arial имеет множитель 12% (1.12), а другой шрифт, который был у меня в папке с активами, - 25%.

Самый простой способ найти этот множитель - установить размер шрифта равным 100, а затем найтивысота, необходимая для отображения.Затем, зная это соотношение, вы сможете правильно рассчитать высоту, необходимую для данного размера шрифта.

0 голосов
/ 20 сентября 2018

Одно из следующих решений должно решить вашу проблему:

Вариант 1: сделать текст всегда видимым независимо от его размера

В инспекторе установите Vertical Overflow свойство к Overflow, чтобы текст всегда отображался, даже если он не помещается в вертикальные ограничения поля.

Вариант 2: Установите сам автоматический размер текста, чтобы он соответствовал пробелу

В инспекторе установите флажок «Подгонка» и введите минимальный и максимальный размеры, которые вы хотели бы, чтобы ваш текст был.Размер текста будет сам по себе таким, чтобы он был как можно большего размера без переполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...