UILabel的高度自适应
? ? ? ?_content = [UILabel new];
? ? ? ? ?_content.text = @"日落時分,沏上一杯山茶,聽一曲意境空遠的《禪》,心神隨此天籟,沉溺于玄妙的幻境里。仿佛我就是那穿梭于葳蕤山林中的一只飛鳥,時而盤旋穿梭,時而引吭高歌;仿佛我就是那潺潺流瀉于山澗的一汪清泉,漣漪輕盈,浩淼長流;仿佛我就是那竦峙在天地間的一座山巒,偉岸高聳,從容綿延。我不相信佛,只是喜歡玄冥空靈的梵音經貝,與慈悲淡然的佛境禪心,在清歡中,從容幽靜,自在安然。一直向往走進青的山,碧的水,體悟山水的絢麗多姿,領略草木的興衰榮枯,傾聽黃天厚土之聲,探尋宇宙自然的妙趣。走進了山水,也就走出了喧囂,給身心以清涼,給精神以沉淀,給靈魂以升華。";
? ? ? ? _content.font = [UIFont systemFontOfSize:14];
? ? ? ? _content.numberOfLines = 0;
? ? ? ? NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];
? ? ? ? NSDictionary *attrDict = [NSDictionary dictionaryWithObjectsAndKeys:_content.font,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NSFontAttributeName,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? paragraphStyle,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NSParagraphStyleAttributeName,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? nil];
? ? ? ? _size = [_content.text boundingRectWithSize:CGSizeMake(kSCREEN_WIDTH-10, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attrDict context:nil].size;
? ? ? ? _content.frame = CGRectMake(5, 118, kSCREEN_WIDTH-10, _size.height);
//也可使用下面已封裝好的方法。
/**
* 根據設置的行間距和字體大小獲得 Label 的高度
* @param maxWidth 最大寬度
* @param lineSpacing 行間距
* @param fontSize 字體大小
*/
+ (CGSize)sizeForText:(NSString *)text withMaxWidth:(CGFloat)maxWidth lineSpacing:(CGFloat)lineSpacing fontSize:(CGFloat)fontSize{
NSMutableDictionary * attrDict = [[NSMutableDictionary alloc] init];
NSMutableParagraphStyle * style = [[NSMutableParagraphStyle alloc] init];
style.lineSpacing = lineSpacing;
style.lineBreakMode = NSLineBreakByWordWrapping;
[attrDict setObject:[UIFont systemFontOfSize:fontSize] forKey:NSFontAttributeName];
[attrDict setObject:style forKey:NSParagraphStyleAttributeName];
CGSize strSize = [text boundingRectWithSize:CGSizeMake(maxWidth, MAXFLOAT)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:attrDict
context:nil].size;
return strSize;
}
轉載于:https://www.cnblogs.com/CodingMann/p/4877843.html
總結
以上是生活随笔為你收集整理的UILabel的高度自适应的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】Linux中断处理学习笔记
- 下一篇: java里面的文件上传与下载