it-swarm.com.ru

многострочная метка iOS в Интерфейсном конструкторе

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

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

114
Samuli Lehtonen

Вы должны назначить свойство numberOfLines. Вы можете сделать это с помощью кода:

textLabel.numberOfLines = 5; // for example

Или через Интерфейсный Разработчик: enter image description here

161
akashivskyy

Удар Control+Enter добавить строку в UILabel в Интерфейсном Разработчике/Раскадровке.

105
user1233894

Спасибо AppleVijay!

Также для вызова sizeToFit, вот так:

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

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

47
Bogdan

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

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

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

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

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

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

Программно (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, но приятно иметь минимальный масштабный коэффициент для размещения текста в рамке метки.

4
Krunal

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

1
siddhant

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

1
Artisan
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};
0
Tanvi Jain

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

0
Pablo Marrufo