扫码关注官方订阅号
在计算一段字符串的宽度和高度的使用CGSizeMake(MAXFLOAT, MAXFLOAT) 请问下 这个MAXFLOAT 代表什么意思 这么用是什么意思?
你的意思应该是计算label的高度吧。
CGSizeMake(CGFloat width, CGFloat height) { CGSize size; size.width = width; size.height = height; return size; }
第一个maxfloat的意思是你需要的label的宽度,第二个maxfloat要尽可能设置的高,我一般设置成1000。
看我的代码
+ (CGSize)labelheight:(UILabel *)detlabel { CGSize size = CGSizeMake(SCREENWIDTH - 16, 1000); CGSize contentactually = [detlabel.text boundingRectWithSize:size options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) attributes:[NSDictionary dictionaryWithObjectsAndKeys:detlabel.font,NSFontAttributeName,nil] context:nil].size; return contentactually; }
我在这里的label需要根据屏幕的尺寸来进行调节所以设置成了屏幕宽度减去16。 第二个是这个label最大能达到的高度,所以你要尽量的设置大一些。
CGSizeMake(300, MAXFLOAT),是计算宽和高的,里面的MAXFLOAT通俗点说就是最大的数值,代表你的label的宽和高是随着你label内容而变化,不用担心因为label内容过长而显示不全
参考 testHs 的答案, 额外补充一下, MAXFLOAT 这个宏定义本身的含义是输出当前处理器下最大的 float 类的一个浮点数.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你的意思应该是计算label的高度吧。
第一个maxfloat的意思是你需要的label的宽度,第二个maxfloat要尽可能设置的高,我一般设置成1000。
看我的代码
我在这里的label需要根据屏幕的尺寸来进行调节所以设置成了屏幕宽度减去16。
第二个是这个label最大能达到的高度,所以你要尽量的设置大一些。
CGSizeMake(300, MAXFLOAT),是计算宽和高的,里面的MAXFLOAT通俗点说就是最大的数值,代表你的label的宽和高是随着你label内容而变化,不用担心因为label内容过长而显示不全
参考 testHs 的答案, 额外补充一下, MAXFLOAT 这个宏定义本身的含义是输出当前处理器下最大的 float 类的一个浮点数.