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];