【问题标题】:UILabel text doesn't word wrapUILabel 文本不自动换行
【发布时间】:2010-04-28 13:37:30
【问题描述】:

我有一个长文本字符串(包括\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 换行符被忽略。

【问题讨论】:

    标签: iphone objective-c xcode


    【解决方案1】:

    刚刚发现问题,我的numberOfLines还在1,设置为0后就正常了。

    【讨论】:

    • Shoot.. 你打败了我...
    • 伙计,当我不得不去互联网做这样的事情时,我讨厌它。这么容易忘记的事。 +1
    【解决方案2】:

    可能会有用 - 因为现在不推荐使用某些行

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

    当然 - lBody.numberOfLines 应该大于 1(1 是默认值)

    【讨论】:

      猜你喜欢
      • 2010-11-10
      • 2015-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 2015-03-14
      相关资源
      最近更新 更多