UITextView наклоняется в DesignView и в RunTime - PullRequest
0 голосов
/ 03 октября 2018

enter image description here: enter image description here

Ситуация:

Как показано на рисунке выше, яЯ спроектировал макет, используя Xcode 9 , и вскоре после завершения дизайна я заметил странную проблему layout.

Если вы присмотритесь, вы увидите, что UILabels"наклон" или "наклон" вправо.

Вопрос:

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

Примечание: Не написан код Swift для проектирования, все выровнено с использованием AutoLayout, StackView и UILabel.Если вы хотите, чтобы я предоставил какой-либо код, я опубликую его по запросу.

Любая помощь будет оценена.Спасибо.

enter image description here

1 Ответ

0 голосов
/ 08 октября 2018

Я использовал редактор изображений, чтобы добавить несколько идеально горизонтальных красных линий на снимок экрана раскадровки.Красные линии облегчают понимание того, почему это выглядит «наклонно»:

storyboard with red lines

Все ваши метки имеют абсолютно горизонтальные базовые линии, а все серыеметки правильно выровнены (вертикально) друг с другом.

«Наклон» появляется, потому что ваши черные метки «---» не выровнены вертикально друг с другом.

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

ОБНОВЛЕНИЕ

Я загрузил раскадровку в эту суть , которая показывает, какЯ бы выложил это представление.

Вот что я сделал в своей раскадровке:

Везде, где у вас есть ряд из двух надписей рядом, поместите их в горизонтальный вид стека с набором выравнивания«Первая базовая линия», а распределение - «Заполнить одинаково».Если вам нужно заполнить строку, измените поля макета представления стека (в Инспекторе размеров) на «Фиксированный» и установите поля, чтобы получить требуемый отступ.Таким образом:

storyboard screen shot

Вот мой набросок документа:

document outline

Вседля ярлыков задан приоритет 251 горизонтального охвата содержимого, приоритет 1000 вертикального охвата содержимого и приоритеты сопротивления сжатия содержимого обеих осей, равные 1000:

label intrinsic content size priorities

Всестеков горизонтального ряда настроены с «Фиксированными» полями макета с левым и правым значениями, равными 8, и верхним и нижним значениями, в соответствии с тем, что необходимо.Например, представление стека, содержащее метки «Доступные кредиты» и «Использованные кредиты», имеет следующие поля:

credits labels row margins

...