博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UILabel的高度自适应
阅读量:5319 次
发布时间:2019-06-14

本文共 1721 字,大约阅读时间需要 5 分钟。

       _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

你可能感兴趣的文章
php--phpstudy更新数据库版本后,无法一键启动
查看>>
configParser模块
查看>>
git
查看>>
LeetCode 476. Number Complement
查看>>
ffmpeg安装
查看>>
文件上传和下载(可批量上传)——基础(一)
查看>>
《剑指offer》变态跳台阶
查看>>
Android环境搭建和编写helloworld
查看>>
《DSP using MATLAB》Problem 2.4
查看>>
ubuntu12.04通过ppa安装JDK7环境
查看>>
相关技术扩展地址
查看>>
jQuery.Callbacks源码解读
查看>>
[LeetCode] 68. Text Justification 文本对齐
查看>>
[LeetCode] 697. Degree of an Array 数组的度
查看>>
666 专题四 并查集
查看>>
模拟3
查看>>
小众公众号的简单运营
查看>>
Sql Server 附加没有日志文件的数据库(.mdf)文件方法
查看>>
系统调用方式文件编程-open
查看>>
python实战项目之爬虫(一)
查看>>