UILabel自适应高度和自动换行

来源:互联网 发布:中国十大公知 知乎 编辑:程序博客网 时间:2024/06/06 14:04

      UILabel是iOS开发常用的控件。UILabel的属性需要了解,UILabel的特殊显示效果也需要我们掌握。UILabel自适应高宽度是很多初学者遇到的技术性难题。比如段文字,要让他完全地分行显示且要让后面的控件不被遮挡。这需要我们的UILabel能够自适应高宽,以便完全显示text的内容,后面的控件可以获取UILabel的起始坐标和宽高来重新设置frame来达到紧贴着UILabel显示而不被遮挡。

工具/原料

  • Mac OS X操作系统 
  • Xcode编译器

方法/步骤


  1. 创建工程项目和视图控制器

          1、创建一个empty(空的)工程项目,新建一个UIViewController;

          2、选中工程,右键-New File…选择“Cocoa Touch Class”-Next,给个合理的名称ViewController,再Next完成;

          3、在AppDelegate.m文件包含#import "ViewController.h";

          4、初始化创建ViewController的视图控制器,并用导航栏控制器包含。将之设置为根视图控制器。

    iOS开发 UILabel实现自适应高宽

  2. 添加UILabel

          1、在ViewController.m创建并初始化一个UILabel;

          2、设置UILabel的背景颜色;

          3、将UILabel添加至父类视图中:addSubview。

    iOS开发 UILabel实现自适应高宽

  3. 设置UILabel的属性

          text:文字内容

          textColor:文字颜色

          backgroundColor:框架背景颜色

          textAlignment:文字对齐方式

          shadowColor:设置阴影颜色

          shadowOffset:设置阴影偏移量

          highlighted:是否高亮,默认NO

          highlightedTextColor:字体高亮颜色

          font:字体

    iOS开发 UILabel实现自适应高宽

  4. 实现UILabel自适应高宽

          1、获取text属性的文本内容;

          2、计算文本的空间,iOS6和iOS7以后是不相同的;

          3、设置UILabel最大显示行数(=0时不限制);

          4、用计算出来的CGSize/CGRect设置UILabel的frame。

    iOS开发 UILabel实现自适应高宽


1 0
原创粉丝点击