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

Текст UILabel не переносит слова

У меня есть длинная текстовая строка (включая \n символы новой строки), которые я передаю на дисплей UILabel для отображения. UILabel динамически настроен для обеспечения достаточного пространства для текста.

Мой код выглядит следующим образом:

myText = [NSString stringWithFormat:@"%@some text: %@ \n \n %@", myText, moreText1, moreText2];
NSLog(@"%@", myText);
myLabelSize = [vLabelText sizeWithFont:[UIFont fontWithName:@"Helvetica" size:(15.0)] constrainedToSize:cMaxLabelSize lineBreakMode:UILineBreakModeWordWrap];

UILabel *lBody = [[UILabel alloc] initWithFrame:CGRectMake(cFromLeft, vFromTop, vLabelSize.width, vLabelSize.height)];
lBody.font = [UIFont fontWithName:@"Helvetica" size:(15.0)];
lBody.lineBreakMode = UILineBreakModeWordWrap;
lBody.textAlignment =  UITextAlignmentLeft;
lBody.backgroundColor = [UIColor cyanColor];
[myScrollView addSubview:lBody];
lBody.text = vLabelText;

Моя проблема в том, что текст не обертывается, а обрезается после первой строки. Заголовки \n игнорируются.

4b9b3361

Ответ 1

Только что нашел проблему, мой numberOfLines был все еще в 1. После установки его в 0 он отлично работает.

Ответ 2

Может быть, это будет полезно - поскольку некоторые строки устарели сейчас

lBody.lineBreakMode = NSLineBreakByCharWrapping;
lBody.textAlignment =  NSTextAlignmentLeft;

и, конечно, lBody.numberOfLines должно быть больше 1 (1 - значение по умолчанию)