UILabel文本没有自动换行

28 iphone xcode objective-c

我有一个很长的文本字符串(包括\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;
Run Code Online (Sandbox Code Playgroud)

我的问题是文本没有换行,但在第一行后截断.该\n换行被忽略.

小智 85

刚发现问题,我numberOfLines仍然处于1.将其设置为0后,它运行正常.

  • 拍...你打败了我...我遇到了那个确切的问题,并且知道当我读到你的标题时,我有你的解决方案. (5认同)