簡體   English   中英

UILabel文本沒有自動換行

[英]UILabel text doesn't word wrap

我有一個很長的文本字符串(包括\\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換行符被忽略。

剛發現問題,我的numberOfLines仍然是1.將它設置為0后,它運行正常。

可能會有用 - 因為現在有些行已被棄用

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

當然 - lBody.numberOfLines應該大於1(默認值為1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM