iOS之UILabel自适应大小
2016-03-29 23:07
507 查看
//初始化一个label
self.label=[[UILabel alloc] init];
//设置自动行数与字符换行
[self.label setNumberOfLines:0];
//给label设置标签
self.label.text=@"首先,我们要明确一点,同步和异步都是在线程中使用的。在iOS开发中,比如网络请求数据时,若使用同步请求,则只有请求成功或者请求失败得到响应返回后,才能继续往下走,也就是才能访问其它资源(会阻塞了线程)。";
//设置label的背景颜色
self.label.backgroundColor=[UIColor grayColor];
//初始化段落,设置段落风格
NSMutableParagraphStyle *paragraphstyle=[[NSMutableParagraphStyle alloc]init];
paragraphstyle.lineBreakMode=NSLineBreakByCharWrapping;
//设置label的字体和段落风格
NSDictionary *dic=@{NSFontAttributeName:self.label.font,NSParagraphStyleAttributeName:paragraphstyle.copy};
//NSDictionary *dic=@{NSFontAttributeName:self.label.font};
//计算label的真正大小,其中宽度和高度是由段落字数的多少来确定的,返回实际label的大小
CGRect rect=[self.label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
//设置到屏幕顶部的距离,如果不设置就x,y都为0
self.label.frame=CGRectMake(0, 70, rect.size.width,rect.size.height);
[self.view addSubview:self.label];
这是分别在6s和5s上面运行的效果
self.label=[[UILabel alloc] init];
//设置自动行数与字符换行
[self.label setNumberOfLines:0];
//给label设置标签
self.label.text=@"首先,我们要明确一点,同步和异步都是在线程中使用的。在iOS开发中,比如网络请求数据时,若使用同步请求,则只有请求成功或者请求失败得到响应返回后,才能继续往下走,也就是才能访问其它资源(会阻塞了线程)。";
//设置label的背景颜色
self.label.backgroundColor=[UIColor grayColor];
//初始化段落,设置段落风格
NSMutableParagraphStyle *paragraphstyle=[[NSMutableParagraphStyle alloc]init];
paragraphstyle.lineBreakMode=NSLineBreakByCharWrapping;
//设置label的字体和段落风格
NSDictionary *dic=@{NSFontAttributeName:self.label.font,NSParagraphStyleAttributeName:paragraphstyle.copy};
//NSDictionary *dic=@{NSFontAttributeName:self.label.font};
//计算label的真正大小,其中宽度和高度是由段落字数的多少来确定的,返回实际label的大小
CGRect rect=[self.label.text boundingRectWithSize:CGSizeMake(self.view.frame.size.width, self.view.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil];
//设置到屏幕顶部的距离,如果不设置就x,y都为0
self.label.frame=CGRectMake(0, 70, rect.size.width,rect.size.height);
[self.view addSubview:self.label];
这是分别在6s和5s上面运行的效果
相关文章推荐
- CEGUI0.8.4支持中文
- ERROR 1366 (HY000): Incorrect string value: '\xE7\x9A\x84' for column 'name' at row 1
- 另种获取key和value
- lesson 4 Building a Dynamic UI with Fragments
- easyui布局加TAB
- AutoLayout——何为intrinsic content size
- Android UI模板设计---TopBar(标题栏)
- request.getParameterMap()
- UITableviewcell的详尽
- 生成全球唯一标识GUID
- leetcode:回溯——permutation-sequence,
- 300.LeetCode Longest Increasing Subsequence(medium)[动态规划]
- 问题easyui树形成了死循环
- 0329 复利计算器5.0 Juint单元测试 组员 254列志华 253韩麒麟
- JavaGUI设计
- 128.LeetCode Longest Consecutive Sequence(hard)[数组 排序 最长连续增长子序列]
- dll signing issue
- 简单的电影介绍应用
- 使用 CPUID 查询 CPU 信息
- OpenStack虚机迁移live-migration失败(error: internal error Attempt to migrate guest to the same host) 推荐