IOS:UILbalel笔记
来源:互联网 发布:橙光制作工具mac 编辑:程序博客网 时间:2024/06/14 01:04
1、UILbalel宽度/高度自适应
假设我们要自适应的这个UILabel名字为label,而要讲它添加到一个名为testView的UIView类中,下面是自适应的代码实现:
//初始化label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];
//设置自动行数与字符换行
[label setNumberOfLines:0];
// 测试字串
NSString *s = @"这是一个测试!!!这是一个测试!!!这是一个测试!!!这是一个测试!!!这是一个测试!!!这是一个测试!!!";
UIFont *font = [UIFont fontWithName:@"Arial" size:12];
label.font = font;
//设置一个行高上限
CGSize size = CGSizeMake(2000,50);
//计算实际frame大小,并将label的frame变成实际大小
CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
label.frame = CGRectMake(0, 0, labelsize.width, labelsize.height);
label.text = s;
[_testView addSubview:label];
当然用于怀疑的人会发现其实UILineBreakModeWordWrap适应的IOS版本为2X-6X,而且这段代码度娘一下,fuck(又被骗了)。别太激动,6X以后的替代品在这里:NSLineBreakByCharWrapping,我认为你还是乖乖的用这个吧。
严格来说这里不是无限制的让UILabel疯狂的延伸,至少要给它限定在一个度里,就像法律之外的自由是不会随便给你的。那么这里的法律就是 CGSize size = CGSizeMake(2000,50);加上 CGSize labelsize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];
0 0
- IOS:UILbalel笔记
- iOS笔记
- iOS笔记
- ios 笔记
- IOS笔记
- IOS笔记
- ios -笔记
- ios 笔记
- IOS笔记
- iOS 笔记
- IOS笔记
- ios 笔记
- IOS 笔记
- ios笔记
- iOS笔记
- iOS 笔记
- ios笔记
- ios 笔记
- 重庆老烂腿硬化剂治疗
- 重庆老烂腿咨询
- 类找不到问题追踪及分析
- 重庆腿上老烂腿怎么办
- 重庆大隐老烂腿手术
- IOS:UILbalel笔记
- Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock
- 重庆小腿老烂腿手术
- 重庆老烂腿疼痛怎么办
- 重庆老烂腿是什么科
- 重庆老烂腿的早期治疗
- Linux动态链接库的使用
- 重庆腿老烂腿的治疗方法
- 文章标题 php redis 扩展安装使用 - 有心故我在