我在做的一个应用,需要用一个Label显示较多的文本,这时会出现行末显示不全用“...”省略的情况。因需求限定了字体大小和Label宽度,我想问下如何实现在Label里换行的效果?

解决方案 »

  1.   

    UIlabel里面有有个属性The maximum number of lines to use for rendering text.@property(nonatomic) NSInteger numberOfLines这玩意就是告诉label要多少行。
      

  2.   

    可以把那么属性设置为0,然后就是让自己去适应。给个sizeCGSize sz = CGSizeMake(0, 0);
    sz = [string sizeWithFont:[UIFont systemFontOfSize:14]
       constrainedToSize:sz
       lineBreakMode:UILineBreakModeWordWrap];计算字符串的size把这个size给label就可以了。
      

  3.   

    还是使用UITextView吧。 UILabel适合于显示少量文本。
      

  4.   

    NSString *str = @"你要放在为label里的文本";
    CGSize size = [str sizeOfFont:14 constrainedToSize:CGSizeMake(width,10000.0f)lineBreakMode:UILineBreakModeWordWrap];UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(x,y,width,height)];
    lb.numberOfLine = 0;
    lb.text = str;
    lb.font = [UIFont systemFontOfSize:14];
    [self.view addSubview:lb];
    [lb release];
      

  5.   

    lb的frame为CGRectMake(x,y,width,size.height)