\ n не работает в UIlabel - PullRequest
       59

\ n не работает в UIlabel

7 голосов
/ 05 августа 2010

Я видел подобные вопросы здесь, но все еще могу понять, почему это не работает.

Как добавить разрыв строки (другими словами, добавить новый абзац) в многострочном UIlabel?

У меня есть ярлык с большим количеством текста,

lbl.numberOfLines = 0;
lbl.sizeToFit;

, но я все еще получаю что-то вроде этого: «Здесь какой-то текст \ n, и здесь я хочу новую строку»

Спасибо

Ответы [ 12 ]

20 голосов
/ 01 ноября 2012

Это старый вопрос, но я просто хотел сообщить, что \r работает как шарм:)

14 голосов
/ 05 августа 2010

UILabel не будет уважать \ n, Вы можете использовать опцию return (в Интерфейсном конструкторе), чтобы принудительно указать, где вы хотите разрыв строки.

Вы можете использовать UIWebView вместо метки, а затем выможно форматировать как угодно.(И установите lineBreakMode, как сказано выше в AngeDeLaMort.)

6 голосов
/ 17 ноября 2012

Вы можете попробовать это:

lbl.text = @"My \n label";
lbl.numberofLines = 0;
5 голосов
/ 12 апреля 2013

Это должно работать:

lbl.lineBreakMode = NSLineBreakByWordWrapping;
lbl.numberOfLines = 0;
3 голосов
/ 02 декабря 2010

на самом деле есть способ сделать это. попробовать

    unichar chr[1] = {'\n'};
NSString *singleCR = [NSString stringWithCharacters:(const unichar *)chr length:1];
    [yourLabel setText:[NSString stringWithFormat:@"new%@line",singleCR]];
2 голосов
/ 05 августа 2010

Если ваша строка действительно в порядке, возможно, вы можете попробовать добавить и эту строку:

lbl.lineBreakMode = UILineBreakModeWordWrap;
1 голос
/ 19 апреля 2017

используйте Ctrl + Enter в раскадровке и сделайте количество строк как 0

1 голос
/ 18 февраля 2017

Ваша проблема может быть другой ... но у меня был буквальный символ \n, который на самом деле \\n в памяти.

Я решил это с помощью:

label.text = [rawText stringByReplacingOccurrencesOfString@"\\n" withString:@"\n"];

Вам все еще нужно установить режим разрыва строки, а также numberOfLines, чтобы он работал.

0 голосов
/ 31 января 2018

Это старый вопрос, но если кто-то захочет это сделать из конструктора интерфейса. Тогда это легко и просто

выберите метку и измените тип на приписывается по умолчанию это обычный

enter image description here

сейчас, куда вы хотите \ n , просто используйте Alt + Enter, и вы получите новую строку

надеюсь, что это полезно для тех, кто использует конструктор интерфейсов для достижения этой цели

0 голосов
/ 08 декабря 2017

UILabel использует \ n для создания новой строки. \ n нужен пробел сзади.

...