UILabel是iOS开发常用的控件。UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握。UILabel自适应高宽度是很多初学者遇到的技术性难题。比如段文字,要让他完全地分行显示且要让后面的控件不被遮挡。这需要我们的UILabel能够自适应高宽,以便完全显示text的内容,后面的控件可以获取UILabel的起始坐标和宽高来重新设置frame来达到紧贴着UILabel显示而不被遮挡。
方法/步骤
-
创建工程项目和视图控制器
1、创建一个empty(空的)工程项目,新建一个UIViewController;
2、选中工程,右键-New File…选择“Cocoa Touch Class”-Next,给个合理的名称ViewController,再Next完成;
3、在AppDelegate.m文件包含#import "ViewController.h";
4、初始化创建ViewController的视图控制器,并用导航栏控制器包含。将之设置为根视图控制器。
-
添加UILabel
1、在ViewController.m创建并初始化一个UILabel;
2、设置UILabel的背景颜色;
3、将UILabel添加至父类视图中:addSubview。
-
设置UILabel的属性
text:文字内容
textColor:文字颜色
backgroundColor:框架背景颜色
textAlignment:文字对齐方式
shadowColor:设置阴影颜色
shadowOffset:设置阴影偏移量
highlighted:是否高亮,默认NO
highlightedTextColor:字体高亮颜色
font:字体
-
实现UILabel自适应高宽
1、获取text属性的文本内容;
2、计算文本的空间,iOS6和iOS7以后是不相同的;
3、设置UILabel最大显示行数(=0时不限制);
4、用计算出来的CGSize/CGRect设置UILabel的frame。
-