UILabel * label = [[UILabel alloc]initWithFrame:cell.bounds];
label.textAlignment = NSTextAlignmentLeft;
label.numberOfLines =0;
label.backgroundColor = [UIColor redColor];
label.text = [_dic objectForKey:@"course"];
//iOS 6.0如下
CGSize size = [label.text sizeWithFont:label.font constrainedToSize:CGSizeMake(self.view.frame.size.width, MAXFLOAT) lineBreakMode:NSLineBreakByWordWrapping];
label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, size.width, size.height);
//iOS 7.0后如下
CGRect rect = [label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:label.font} context:nil];
label.frame = CGRectMake(label.frame.origin.x, label.frame.origin.y, rect.size.width, rect.size.height);
[cell addSubview:label];
该博客介绍了如何在iOS应用中使UILabel实现文本自适应宽度、左端对齐以及自动换行。通过设置numberOfLines为0,结合iOS 6.0及7.0以后的不同计算文本尺寸的方法,调整label的frame来达到预期效果。
671

被折叠的 条评论
为什么被折叠?



