Подтвердить что ты не робот

Многострочная метка iOS в построителе интерфейса

Как создать многострочный UILabel в построителе интерфейса для iOS? Я попробовал UITextView, но это не совсем соответствовало моим потребностям.

Как добавить многострочный (текст) в метку?

4b9b3361

Ответ 1

Вы можете использовать свойство numberOfLines которое определяет максимальное количество строк, которое может иметь метка. По умолчанию это 1. Установка его в 0 означает, что метка будет иметь неограниченное количество строк.

Вы можете сделать это в коде:

textLabel.numberOfLines = 5 // for example

Или в Интерфейсном Разработчике:

Ответ 2

Нажмите Control + Enter, чтобы добавить строку в UILabel в построителе интерфейса/раскадровке.

Ответ 3

Спасибо AppleVijay!

Также для вызова sizeToFit, например:

label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
[label sizeToFit];

Высота будет автоматически вычислена.

Ответ 4

задайте ширину метки как и нужно маленькую, затем используйте IB, чтобы установить разрывы строк на перенос слов

или используйте с этим кодом

Я нашел решение.

Нужно просто добавить следующий код:

textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

Ответ 5

Установите число строк в ноль для динамической текстовой информации, это будет полезно, когда ваш текст меняется.

Программно (Swift 3)

var label = UILabel()
let stringValue = "iOS\nmultiline\nlabel\nin\nInterface\nbuilder"
label.text = stringValue
label.numberOfLines = 0 // Set 0, if number of lines not specified.
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.8 . // It is not required but nice to have a minimum scale factor to fit text into label frame

Использование Inetrface Builder

enter image description here

Примечание. Не обязательно устанавливать Minimum Font Scale, но приятно иметь минимальный масштабный коэффициент для размещения текста в рамке надписи.

Ответ 6

В iOS7 (Xcode5) вы добавили строки UILabel в 0 для неограниченного количества входных данных в раскадровке.
Самое главное - установить height of the UILabel, чтобы удерживать строки ввода, которые вы собираетесь установить.

Ответ 7

Количество строк отображается в IB с помощью поля Plain UILabels, установленного в 0. Это создаст несколько строк в соответствии с предоставленным пространством для метки.

Ответ 8

textLabel.lineBreakMode = UILineBreakModeWordWrap;

textLabel.numberOfLines = 0;

CGSize size =  [[[arrNewsFeed objectAtIndex:row] objectForKey:@"c"]  sizeWithFont:[UIFont systemFontOfSize:14.0]  constrainedToSize:CGSizeMake(188, CGFLOAT_MAX)
                                                                     lineBreakMode:NSLineBreakByTruncatingTail];

textLabel.frame = (CGRect){.origin = cell.lblNewsDescription.frame.origin, .size = size};

Ответ 9

Если вы установите свойство numberOfLines равным 0, метка автоматически подстраивается под требуемое количество строк данного текста.

Ответ 10

Для X-Code 7.2

  • - Выберите UILabel

  • - Инспектор атрибутов

  • - Текст - выберите атрибут

После этого вы можете увидеть еще один атрибут, который вы можете добавить в ярлык, в котором вы также можете найти число Линей. Что делает ваш ярлык многострочным.

X-Code Image для многострочного UILabel