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

ios objective-c swift uilabel line-breaks

87058 просмотра

10 ответа

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

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

Автор: Samuli Lehtonen Источник Размещён: 13.07.2019 01:29

Ответы (10)


165 плюса

Решение

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

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

textLabel.numberOfLines = 5 // for example

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

Автор: akashivskyy Размещён: 02.07.2011 02:27

107 плюса

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

Автор: user1233894 Размещён: 09.02.2014 02:20

47 плюса

Спасибо AppleVijay!

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

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

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

Автор: Bogdan Размещён: 18.04.2012 02:34

11 плюса

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

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

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

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

textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;
Автор: Vijay-Apple-Dev.blogspot.com Размещён: 02.07.2011 02:26

4 плюса

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

Программно (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

введите описание изображения здесь

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

Автор: Krunal Размещён: 04.03.2017 05:36

1 плюс

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

Автор: Artisan Размещён: 08.10.2014 03:11

1 плюс

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

Автор: siddhant Размещён: 13.04.2018 12:23

0 плюса

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};
Автор: Tanvi Jain Размещён: 08.10.2014 05:14

0 плюса

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

Автор: Pablo Marrufo Размещён: 22.03.2018 06:06

-2 плюса

Для X-Code 7.2

  1. - Выберите UILabel

  2. - Атрибуты инспектора

  3. - Текст - Выбрать атрибут

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

X-код изображения для многострочного UILabel

Автор: codeCraft Размещён: 07.04.2016 09:21
Вопросы из категории :
32x32