前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OC中获取一串字符串的高度(宽度确定)或宽度(高度确定)

OC中获取一串字符串的高度(宽度确定)或宽度(高度确定)

作者头像
用户1451823
发布2018-09-13 16:00:01
2.3K0
发布2018-09-13 16:00:01
举报
文章被收录于专栏:DannyHoo的专栏DannyHoo的专栏

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1337845

项目中我们有时会需要根据字符串来确定UILabel的宽度或高度,如我们经常遇到的单元格自适应问题。如果是要动态知道UILabel的高度,那么我们直接利用单元格自适应高度就可以。如果我们要获取UILabel的宽度(为什么要获取UILabel的宽度?因为有时如果字符串过长那么UILabel的宽度就会相应发生变化),那么就可以利用下面的方法:

CGSize size = string sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 17);  CGFloat w =size.width;

其实这个方法只是先获取字符串(字符串的字体大小是确定了的)的size再确定其宽度。从方法中可以看出我们固定了字符串的高度为17,如果想要获取字符串的高度,那么固定宽度就好了。

但这个方法已经不被苹果官方建议使用了,而是被另一个方法所取代:

代码语言:javascript
复制
CGSize size = CGSizeMake(320,2000); //设置一个行高上限
NSDictionary *attribute = @{NSFontAttributeName: nameLabel.font};
CGSize labelsize = [nameLabel.text boundingRectWithSize:size options: NSStringDrawingTruncatesLastVisibleLine NSStringDrawingUsesLineFragmentOrigin NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;

大家再看看单元格高度自适应是不是有什么想法啊?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年10月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档