Stati c UIView изменяет ширину при локализации на французский - PullRequest
0 голосов
/ 26 января 2020

У меня есть UILabel и UITextField, встроенные в представление (поэтому я могу скрыть представление и сделать так, чтобы несколько элементов отображались / отображались одновременно, а не скрывали каждый из них). Вот скриншот того, что в действии в Engli sh: enter image description here

Когда я переключаюсь на французский и запускаю, я получаю это: enter image description here

, который вы видите, запускает текстовое поле и метку справа. Только на французском. Немец, испанец sh, итальянец все в порядке. Я сократил текст на французском языке в поле заполнителя / текста, но это ничего не изменило. Вот фрагмент определения раскадровки: enter image description here

Текст на этикетке (Ваш звук был сохранен) центрируется, текстовое поле центрируется. Что может привести к тому, что длина метки так сильно изменится при локализации на французский? Метка и текстовое представление не связаны; оба являются trailingEdge, определяемыми «скрывающимся видом». Немного больше проверки - «Скрытый вид» на французском языке шире, чем на других, на 39 (если смотреть в начале ViewDidLoad.) К тому времени, когда мы дойдем до основного состояния простоя, ожидаем, когда пользователь нажмет кнопку записи. ширина "скрытого вида" увеличилась еще на 191. Это объясняет растяжение текстового поля и метки, поскольку они прикреплены к правой стороне скрывающегося вида. Рамка текстового поля одинакова на английском и английском языках. Поэтому я думаю, что вопрос в том, почему ширина UIView изменяется на французском, а не на английском sh. Код касается только вида, чтобы установить его альфа на 0 или 1.

1 Ответ

1 голос
/ 26 января 2020

Если метка не умещается в текст по ширине, определенной ограничениями, у нее есть два способа размещения:

  1. Разрыв необязательные ограничения , если есть какие-либо
  2. Обрезать метку

Так как трейлинг-ограничение необязательно (приоритет <1000), механизм разметки нарушает его и заставляет метку go за пределами экрана. Таким образом, чтобы решить эту проблему, необходимо установить конечное ограничение (т.е. установить его приоритет на 1000). </p>

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