ios - 如何实现 UILable 根据text自动调整高度
PHP中文网
PHP中文网 2017-04-17 17:23:08
[iOS讨论组]

label的width是固定的,输入不同的内容,比如“hello” 或者 “prevents me from using standard methods to resize the UILabel. I read on another post here that I'm supposed to use the function“ 后,label根据label.text来调整高度?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(5)
ringa_lee
    CGFloat titleLabelHeight = [self.titleLabel.text boundingRectWithSize:CGSizeMake(mainScreenWidth - 30, MAXFLOAT)
                                                                  options:NSStringDrawingUsesLineFragmentOrigin
                                                               attributes:@{
                                                                   NSFontAttributeName : [UIFont systemFontOfSize:16]
                                                               } context:nil].size.height;

这个方法计算
size 传入你固定的宽度,高度传个最高
attr 传入你字体的大小
然后会返回一个 CGRect 给你
你自己去拿里面的 height 就可以了
再做不等高 cell 嘛?

大家讲道理
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary<NSString *, id> *)attributes context:(nullable NSStringDrawingContext *)context;
黄舟

AutoLayout,可以自动计算高度

高洛峰

UILabel.numberOfLines = 0;
UILabel .lineBreakMode = NSLineBreakByCharWrapping;
[UILabel sizeToFit];

巴扎黑

用自动布局的话高度不用设定,lable自动会计算高度。

要是没有layout的话,那就是自己计算高度了,label有个 sizeTofit 函数,返回的就是 size,你可以试一下。计算出来高度之后在给lable赋值高度就好了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号