Изменение размера текста в двух выровненных ярлыках в iOS - PullRequest
0 голосов
/ 05 июня 2018

У меня есть две метки рядом друг с другом, например:

|--15--labelA--8--longerLabelB--15--|

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

I 'Я пытался использовать стек просмотра.Не повезло.

Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

у labelA и longLabelB есть свой размер контента, Apple называет его внутренним размером, и это будет влиять на макет.Пожалуйста, рассмотрите две ситуации ниже (поддельный код):

let totalLength = 15 + contentSize(LabelA) + 8 + contentSize(LabelB) + 15 
if totalLength > containerSize.width {
   // which label should be shorter or compressed? LabelA or LabelB? ?
   // answer: compress the one with lower compression resistance priority. ?

   // compressed one would with content like: "xxxx....", truncated with "..." at last
} else { 
   // which label should be longer or hugging? LabelA or LabelB? ?
   // answer: stretch the one with lower content hugging priority. ?
}

, поэтому вы можете установить приоритет Hugging для контента longLabelB на некоторое значение ниже, чем labelA.

, если вы также хотите, чтобы содержимое LabelA не сжималось, например, «xxxx ...», установите его приоритет сжатия «1006 * сопротивление выше, чем longLabelB

labelA должно быть по умолчанию,Снимок настройки longLabelB, как показано ниже:

enter image description here

ПРИМЕЧАНИЕ: фактическое значение этих двух приоритетов не имеет значения, ключ является приоритетом или какой из них вышеили ниже

0 голосов
/ 05 июня 2018

Если вы хотите сделать их равными по размеру, перетяните их с одного элемента управления на другой и выберите Equal-Widths

или

в качестве ошибки, скажите, что вам нужно, и сделайтеэто contentHuggingPriority / contenyCompresseionResistence установлено на 1000

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