Разрыв строки метки не работает должным образом в xcode - PullRequest
1 голос
/ 18 июня 2020

У меня есть метка, которая показывает розовую область на экране. enter image description here Однако слово «пол» не отображается в верхней строке, даже если на нем достаточно места. Почему он не отображается в самой первой строке? Что мне нужно
enter image description here

label.text = @"Do you believe in gender equality";

Этикетка enter image description here

1 Ответ

1 голос
/ 20 июня 2020

UILabel работает так, как задумано, предотвращая потерянное слово , чтобы оно было более читабельным. Это было введено в iOS 11. Apple должна отключить его для iMessage, потому что они, вероятно, предполагают такое поведение для длинных текстовых статей, а не текстовых сообщений.

Я видел исправления, включая

  • вызов sizeToFit на этикетке после того, как текст был установлен
  • настройка UserDefaults.standard.set(false, forKey: "NSAllowsDefaultLineBreakStrategy") // Using this private tricky shortcut may leads appstore rejection.

Но ни один из них не работает на iOS 13, симуляторе (не тестировалось на устройствах).

Исправить

Одно сложное решение - добавить к тексту несколько пробелов или две табуляции ("\t\t") и установить их программно.

...