label自适应宽度
spa
CGSize labelSize=[label.text sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:fontOfLab]}];3d
label.font = [UIFont systemFontOfSize:fontOfLab];code
label 自适应高度orm
CGSize labelSize = [self.lab.text sizeWithFont:self.lab.font constrainedToSize:size lineBreakMode:NSLineBreakByClipping];ip
这种方法虽然能够用 可是官网已经建议咱们使用下面那种来代替了 哎 如今才发现it
//自动折行设置
label.lineBreakMode =
UILineBreakModeWordWrap
;
label.numberOfLines = 0;
//自适应高度
CGRect txtFrame = label.frame;
label.frame = CGRectMake(10, 100, 300,
txtFrame.size.height =[label.text boundingRectWithSize:
CGSizeMake(txtFrame.size.width, CGFLOAT_MAX)
options:
NSStringDrawingUsesLineFragmentOrigin
|
NSStringDrawingUsesFontLeading
attributes:[
NSDictionary
dictionaryWithObjectsAndKeys:label.font,
NSFontAttributeName
,
nil
] context:
nil
].size.height);
label.frame = CGRectMake(10, 100, 300, txtFrame.size.height);
[
self
.view addSubview:label];