Как установить автоматический размер текста для разных экранов - PullRequest
0 голосов
/ 02 марта 2019

Моя задача - сохранить размер и положение элементов внутри моей ячейки для разных разрешений экрана.

Я сделал:

  1. Установлены ограничения для красных и зеленых блоков (UILabels) к внешнему контейнеру.
  2. Установите ограничение между ними равным 0. Это более приоритетно, чем ограничение красного блока снизу и зеленого сверху.
  3. Установить линии = 0 для этих меток.
  4. Установить автоусадку.

В результате размер шрифта изменяется на разных устройствах.Но есть еще несколько проблем:

  1. Как убрать слишком большие отступы над и под обоими надписями?
  2. Как сделать так, чтобы размер их изменялся равномерно?Теперь один из блоков имеет преимущество перед другим, в зависимости от того, какое ограничение имеет более высокий приоритет.Если сделать их равными - это тоже не сработает.

(я бы хотел все сделать через Interface Builder)

1 Ответ

0 голосов
/ 02 марта 2019

Вы можете использовать равные ограничения по высоте и ширине.

Выполните следующие шаги, чтобы сделать интервал UILabel одинаковым на iPhone 8 и iPhone 4s.Это поможет вам сделать его пропорциональным.

1) Для этого просто выберите свой ярлык (красный), ярлык (зеленый) и суперпредставление (которое, я думаю, является ячейкой UICollectionView).)

enter image description here

2) Мы заинтересованы в том, чтобы высота была пропорциональной.т.е. Red Label (80%) и Green Label (20%)

В настоящее время все высоты равны высоте суперпредставления, т.е. высота RedLabel и Greenlabel равна 100% суперпредставления.

Ноцель состоит в том, чтобы сделать его 80% и 20% для красной и зеленой метки соответственно.

Поэтому выберите ограничение высоты красной метки.Здесь вы устанавливаете ограничение, которое говорит, что «высота красной метки должна составлять 80% от высоты суперпредставлений».

Аналогично для Green Label, установите «высоту зеленой метки, чтобы она составляла 20% для высоты суперпредставления.».

Ред Лейбл

enter image description here

Грин Лейбл

enter image description here

3) Теперь заполните ограничение положения осей x и y, которое будет прямым

a) Ведущая красная метка = передний край суперпредставления

b) Задняя красная метка = Задний крайsuperview

c) Верх красной метки = верхний край суперпредставления

d) Низ красной метки = не требуется (так как он имеет все необходимые ограничения для обоснования своей позиции, т.е.высота = 0,8 * суперпредставление, и оно выровнено по верху, например: высота суперпредставления равно 100, оставьте этот вид сверху выровненным по высоте = 80)

e) Leading с зеленой меткой = Leading с красной меткой (вы уже установили этов точке «a» нет необходимости устанавливать ограничение снова для зеленой метки)

f) Зеленая метка Trailing = красная метка Leading (вы уже установили это в точке «b», нет необходимости устанавливать ограничение снова дляЗеленая метка)

г) Зеленая метка снизу = низ суперпредставления

h) Зеленая метка top = не требуется (так как она имеет все необходимые ограничения для обоснования своей позиции, т.е. высота = 0,2 * суперпредставления и выровнена снизу, например: высота суперпредставления равна 100, оставьте этовид снизу выровнен по высоте = 20)

Это окончательный список ограничений и предварительный просмотр раскадровки для iPhone 8 и 4s.

enter image description here

...