Есть ли способ использовать неразрывные пробелы в UILabel на стартовом экране? - PullRequest
0 голосов
/ 22 апреля 2019

Я хотел бы убедиться, что имена в многострочной строке авторских прав на стартовом экране не разделяются по разрывам строк на разных устройствах.Внутри контроллера представления с UILabel выходом textLabel escape-последовательность "\u{00a0}" работает программно:

textLabel.text = "Lots of text before... Firstname\u{00a0}Lastname... and after."

. В ней отображается строка с escape-последовательностью, замененной пробелом, и слова с обеих сторон всегдапоявляются в той же строке.

Однако я не могу заставить его работать, помещая его в качестве значения в UILabel в Интерфейсном Разработчике - либо в LaunchScreen, либо в любой другой View Controller.Он просто отображает строку с оставленными набранными кодами.Я попробовал все различные комбинации \ u, \ U, \\ u, \\ U, \ x + и т. Д., Предложенные в нескольких SO-вопросах, но безрезультатно.Я думаю, что программно невозможно отобразить экран запуска.

Я что-то пропустил?

1 Ответ

1 голос
/ 22 апреля 2019

Не используйте \u{00a0} в тексте, который вы вводите в раскадровку.Введите фактический неразрывный пробел.Самый простой способ - ввести space-пробел (option-space).

Если вам когда-либо понадобится ввести какие-либо другие специальные символы, другой вариант - использовать стандартный просмотрщик символов.Выберите Emoji & Symbols в меню Edit, чтобы открыть окно просмотра персонажа.Затем найдите нужный символ, который вы хотите поместить в ярлык.Вы также можете сделать это в коде Swift вместо того, чтобы вводить в свои строки загадочные escape-последовательности Unicode.

...