1.UILabel 对文字的自适应有两种方法。

  1)将label的numberOfLines设为0;并添加自适应方法[titleLabel sizeToFit],但是这种方法并不理想。

  2)根据文字的大小、宽度来调整。

     //设置字体大小

    UIFont *font = [UIFont systemFontOfSize:20];

    //管理字符串:内容、大小

    NSAttributedString *attriuted = [[NSAttributedString alloc] initWithString:titleLabel.text attributes:@{NSFontAttributeName:font}];

   //计算:根据需要的宽度、通常使用NSStringDrawingUsesLineFragmentOrigin,如果options参数为NSStringDrawingUsesLineFragmentOrigin,那么整个文本将以每行组成的矩形为单位计算整个文本的尺寸。 

    CGRect rect = [attriuted boundingRectWithSize:(CGSize){width,CGFLOAT_MAX} options:NSStringDrawingUsesLineFragmentOrigin context:nil];

   //重新设置frame

    CGRect titleFrame = CGRectMake(0, 200, width, rect.size.height);

    titleLabel.frame = titleFrame;

  //这样就解决了UILabel的自适应的问题,也可用于UITableView 的Cell 文字返回的高度。