博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS中的UILabel自动计算高度和换行
阅读量:6046 次
发布时间:2019-06-20

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

hot3.png

UILabel自动计算高度和换行

self.dizhiLabel = [[UILabel alloc]init];     self.dizhiLabel.textColor = [UIColor grayColor];    //折行     self.dizhiLabel.lineBreakMode = NSLineBreakByWordWrapping;    //必须写,否则只显示一行    [ self.dizhiLabel setNumberOfLines:0];    [self.contentView addSubview: self.dizhiLabel];    [ self.dizhiLabel mas_makeConstraints:^(MASConstraintMaker *make) {                make.left.equalTo(self.zuobiaoImageView.mas_right).offset(20);        make.right.equalTo(self.contentView.mas_right).offset(-20);        make.top.equalTo( self.zuobiaoImageView.mas_top);            }];        //根据文字内容和字体计算高度    CGSize textSize = CGSizeZero;    // 多行必需使用NSStringDrawingUsesLineFragmentOrigin,网上有人说不是用NSStringDrawingUsesFontLeading计算结果不对    NSStringDrawingOptions opts = NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading;        NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];    [style setLineBreakMode:NSLineBreakByCharWrapping];        NSDictionary *attributes = @{ NSFontAttributeName : [UIFont systemFontOfSize:17], NSParagraphStyleAttributeName : style };        CGRect rect = [ self.dizhiLabel.text boundingRectWithSize:(CGSize){ self.dizhiLabel.frame.size.width, MAXFLOAT}                                                options:opts                                             attributes:attributes                                                context:nil];    textSize = rect.size;         self.dizhiLabel.frame = CGRectMake(85, 15, textSize.width, textSize.height);

 

转载于:https://my.oschina.net/LBBB/blog/714810

你可能感兴趣的文章
***--备忘
查看>>
Hibernate
查看>>
php之array_column
查看>>
Django中间件middleware
查看>>
redis单节点安装及cluster的安装
查看>>
XML 参考:XML基础 XML 简介
查看>>
Helvetic Coding Contest 2017 online mirror I - Fake News (hard)
查看>>
设备驱动基础学习--阻塞和非阻塞读写
查看>>
顺序表 其他操作
查看>>
spring参数类型异常输出,SpringMvc参数类型转换错误输出
查看>>
Struts(View)
查看>>
cocoapods 安装中出的太多问题
查看>>
怎样删除windows server back 备份副本文件
查看>>
Keepalived+LVS高可用负载均衡集群
查看>>
Docker 数据卷重复挂载测试
查看>>
[LeetCode]Maximum Depth of Binary Tree
查看>>
递归详解
查看>>
Oracle列出指定日期段内的日期
查看>>
angular学习资源
查看>>
.NET获取文件的MIME类型(Content Type)
查看>>