NSLineBreakByCharWrapping не работает в iOS7

Я добавил простую метку в представление с numberOfLines = 0, но перенос символов не работает должным образом в iOS7. Всегда используется перенос слов для переноса символов. Однако я тестировал тот же код в Xcode 6 GM, и он работает нормально.

Есть ли другой способ обработки переноса символов в iOS7? Это была известная проблема в 7?

  • Приложение ios7 charwrapping

ios7_charwrapping

  • Приложение ios8 charwrappingios8_charwrapping

2 ответа

Решение

Я думаю, что это ошибка в iOS 7. У нас есть пара приложений, в которых мы случайно использовали NSLineBreakCharWrapping, и он просто выполнял перенос слов, что и было задумано нами... и они внезапно сломались на iOS 8... не исправлено до тех пор, пока iOS 8, вероятно, большую часть времени используется перенос по словам, и никто не осознал этого.

Просто расширив принятый ответ, поведение переноса символов было, вероятно, ошибкой в ​​iOS 7, которая выполняла ту же функцию, что и перенос слов. iOS 8 возвращает его предполагаемое поведение и поэтому нарушает использование в качестве переноса слов. Так что меняй

someLabel.lineBreakMode = NSLineBreakByCharWrapping;

К переносу слов в iOS 8

someLabel.lineBreakMode = NSLineBreakByWordWrapping;
Другие вопросы по тегам