UILable的使用,文本高度的计算boundingRectWithSize
2016-05-26 22:55
591 查看
UILable显示字符串的视图控件
UILable是UIView的子视图,拥有和view一样的属性,同时也有自己特有的属性
如:显示内容;显示内容大小、对齐方式、显示颜色;多行显示等
UILable是UIView的子视图,拥有和view一样的属性,同时也有自己特有的属性
如:显示内容;显示内容大小、对齐方式、显示颜色;多行显示等
// 实例化 UILabel *label01 = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 50.0, 300.0, 30.0)]; [self.view addSubview:label01]; label01.backgroundColor = [UIColor yellowColor];
// 显示内容,默认无内容显示 NSString *text = @"I am learning iOS develping"; label01.text = text; // 显示颜色,默认黑色 label01.textColor = [UIColor redColor]; // 显示大小,设置字体大小不要超过标签控件的高度 label01.font = [UIFont systemFontOfSize:16.0]; // 显示对齐方式,默认左对齐 label01.textAlignment = NSTextAlignmentRight;
UILabel *label02 = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 100.0, 300.0, 100.0)]; [self.view addSubview:label02]; // 背景色为透明颜色 label02.backgroundColor = [UIColor clearColor]; // 显示颜色,默认黑色 label02.textColor = [UIColor redColor]; // 显示大小,设置字体大小不要超过标签控件的高度 // 方法1 只设置字体大小 label02.font = [UIFont systemFontOfSize:12.0]; // 方法2 同时设置字体,及字体大小 label02.font = [UIFont fontWithName:@"Verdana-Bold" size:12.0]; // 显示对齐方式,默认左对齐 label02.textAlignment = NSTextAlignmentLeft; // 显示内容 NSString *text02 = @"编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理"; label02.text = text02; // 自适应宽度显示,即缩小字体 // label02.adjustsFontSizeToFitWidth = YES; // 多行显示设置 text02 = @"编程语言是一种语言,只是一种语言。随着时光推移,只要你理解了一种语言的原理,你会发现各种语言之间的相似之处 。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁)的代码。最重要的,让语言去适应项目,反之亦然"; label02.text = text02; // 多行显示,设置显示行数,0时表示不限制行数,2表示只显示2行,依次类推,默认显示1行 label02.numberOfLines = 0; // 换行模式,通常结合多行显示属性一起设置 label02.lineBreakMode = NSLineBreakByWordWrapping;
// 计算显示内容高度,计算时的字体大小与标签控件字体大小一致 CGSize size = [label02.text boundingRectWithSize:CGSizeMake(label02.bounds.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:12.0]} context:nil].size; // 重新设置lable02的高度 CGRect rect = label02.frame; rect.size.height = size.height; label02.frame = rect;
// 阴影属性(无效果???) label02.shadowColor = [UIColor yellowColor]; label02.shadowOffset = CGSizeMake(label02.bounds.size.width + 10.0, label02.bounds.size.height + 10.0);
// 设置可变字符 NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:text02]; NSString *setText = @"编程语言是一种语言"; NSRange range = [text02 rangeOfString:setText]; // 颜色 [attributedText addAttribute:NSForegroundColorAttributeName value:[UIColor brownColor] range:range]; // 字体 [attributedText addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20.0] range:range]; label02.attributedText = attributedText;
相关文章推荐
- UIView的使用
- ios 获取UIImage图片的像素尺寸
- 手机适配----资源适配篇(values)
- LeetCode-300.Longest Increasing Subsequence
- 字节打印流PrintStream,字符打印流PrintWriter,序列流SequenceInputStream、
- Subsequence(两个单调队列)
- UIView-九宫格
- Implement Stack using Queues
- ${pageContext.request.contextPath}的作用
- UE4之SlateUI系统初探
- codeforces 297C Splitting the Uniqueness
- UEFI安装Win10
- NGUI PK UGUI
- IOS-Frameworks-MessageUI-MFMailComposeViewController
- Vuejs学习(一)简要的TODOList
- Java基础回顾 : String、StringBuffer和StringBuilder
- String、StringBuffer与StringBuilder之间区别
- 2016湖大校赛 L题 The Sequence likes Ladder
- mui中的一些弹窗
- 如何让 select的那个请选择不被选中.获取选中的value值和html