2009-07-13 3 views
127

Есть ли способ иметь текст словаря wordwrap при необходимости? У меня есть разрывы строк, установленные на перенос слов, и метка достаточно высока для двух строк, но кажется, что она будет только обертываться на разрывы строк. Должен ли я добавлять разрывы строк, чтобы сделать их правильно обернутыми? Я просто хочу, чтобы он обернулся, если он не может поместиться в горизонтальном направлении.UILabel - текст Wordwrap

ответ

262

Если вы установили numberOfLines в 0 (и этикетку на перенос слов), метка будет автоматически обертываться и использовать столько строк, сколько необходимо.

Если вы редактируете в IB в UILabel, вы можете ввести несколько строк текста, нажав опцию + возвращение получить разрыв строки - возвращение в одиночку закончит редактирование.

+113

Для уточнения для нубов как я, это было бы: клетки .textLabel.numberOfLines = 0; cell.textLabel.lineBreakMode = UILineBreakModeWordWrap; –

+46

В iOS 6 и более поздних версиях используйте 'NSLineBreakByWordWrapping', а не' UILineBreakModeWordWrap'. –

+3

Возможно, вам также понадобится следующее: label.autoresizingMask = UIViewAutoresizingFlexibleHeight; –

22

UILabel имеет свойство lineBreakMode, которое вы можете установить согласно вашему требованию.

+10

«У меня есть разрывы строк, установленные на перенос слов». Это только обертывает фактические разрывы строк, оно не будет автоматически ломаться, если оно длинное. – Codezy

14

В Swift вы могли бы сделать это следующим образом:

label.lineBreakMode = NSLineBreakMode.ByWordWrapping 
    label.numberOfLines = 0 

(Обратите внимание, что путь lineBreakMode постоянные работы отличается в ObjC)

+0

Заботьтесь о том, как все иначе? – Mike

+0

Я думаю, я имел в виду, что именование отличается. Вероятно, он снова изменился в swift3 – Nathan

+0

Режим прерывания строки должен быть установлен на перенос слов по умолчанию – MobileMon

Смежные вопросы