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 文字返回的高度。
浙公网安备 33010602011771号