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

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

根据文字 字数动态确定Label宽高

//设置Label的字体 HelveticaNeue  CourierUIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:24.0f];_nameLabel.font = fnt;//根据字体得到NSString的尺寸CGSize size = [_nameLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil]];//名字的高度CGFloat nameH = size.height;//名字的宽度CGFloat nameW = size.width; //重新给Label的frame赋值_nameLabel.frame = CGRectMake(0, 0, nameW,nameH);
根据正文内容多少,动态确定正文content的frame
// 宽度W CGFloat contentW = self.bounds.size.width - _content.frame.origin.x - kMargin;// label的字体 HelveticaNeue  CourierUIFont *fnt = [UIFont fontWithName:@"HelveticaNeue" size:18.0f];_content.font = fnt;_content.numberOfLines = 0;_content.lineBreakMode = NSLineBreakByWordWrapping;// iOS7中用以下方法替代过时的iOS6中的sizeWithFont:constrainedToSize:lineBreakMode:方法CGRect tmpRect = [_content.text boundingRectWithSize:CGSizeMake(contentW, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:[NSDictionary dictionaryWithObjectsAndKeys:fnt,NSFontAttributeName, nil] context:nil];// 高度HCGFloat contentH = tmpRect.size.height;NSLog(@"调整后的显示宽度:%f,显示高度:%f"contentW,contentH);_content.frame = CGRectMake(0, 0, contentW,contentH);
 

转载于:https://www.cnblogs.com/MrFeng/p/4893864.html

你可能感兴趣的文章
vue router
查看>>
第三次实训作业
查看>>
git
查看>>
FastClick 导致聚焦有问题
查看>>
第二百三十八节,Bootstrap输入框和导航组件
查看>>
js重写原型对象
查看>>
$this的用法
查看>>
linux如何安装java环境
查看>>
Android中gravity的含义
查看>>
求大神给解决下,向已有的xml文件写入数据,但不覆盖文件存在的内容
查看>>
深入理解java嵌套类和内部类
查看>>
Linux守护进程的编程实现
查看>>
C语言指针的初始化和赋值
查看>>
JavaScript 输出
查看>>
python 函数(2)
查看>>
Python学习笔记1:python简介、输入输出、循环条件
查看>>
python学习笔记5:装饰器
查看>>
Android 开发环境配置
查看>>
skiing
查看>>
wxwidgets demo
查看>>