概述

  • UILabel类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.UILabel类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等.
  • UILabel类继承自UIView

属性

创建UILabel对象

  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];

设置显示文字,默认是空的

  1. label.text = @"测试";

设置字体(系统默认字体是16号字体)

  1. label.font = [UIFont systemFontOfSize:16];

设置字体颜色(默认是黑色)

  1. label.textColor = [UIColor redColor];

设置对齐方式(在iOS 9之后,此属性的默认值是 NStextalignmentnatural;之前的iOS 9,默认值为nstextalignmentleft。)

  1. 居左 NSTextAlignmentLeft
  2. 居中 NSTextAlignmentCenter
  3. 居右 NSTextAlignmentRight
  4. label.textAlignment = NSTextAlignmentCenter;

设置换行模式

  1. 以一个单词为单位换行,最后一行显示不全内容以单词截断,后面直接不显示 NSLineBreakByWordWrapping
  2. 以字符换行 NSLineBreakByCharWrapping
  3. 以一个单词为单位换行,最后一行显示不全的内容,在label的最后直接截断,后面直接不显示 NSLineBreakByClipping
  4. 显示不全;最后一行将最后的内容显示,前面使用...代替 例:Truncate at head of line: "...wxyasdasdz" NSLineBreakByTruncatingHead
  5. 显示不全;最后一行将前面的内容显示,最后使用...代替 例:Truncate at tail of line: "abcd..." NSLineBreakByTruncatingTail
  6. 显示不全;最后一行将前面的内容显示和最后的内容显示,中间使用...代替 NSLineBreakByTruncatingMiddle
  7. label.lineBreakMode = NSLineBreakByWordWrapping;

设置阴影颜色

  1. label.shadowColor = [UIColor greenColor];

设置阴影的偏移量,默认是 CGSizeMake(0, -1) -- a top shadow

  1. label.shadowOffset = CGSizeMake(0, -2);

设置行数(当文本需要自适应时,需将行数设置为0)

  1. label.numberOfLines = 0;

adjustsFontSizeToFitWidth 根据宽度调整font,默认为 NO

  1. label.adjustsFontSizeToFitWidth = YES;

attributedText 属性文本,这里不多做介绍,具体请点此查看

高亮属性

设置是否处于高亮状态

  1. [label setHighlighted:YES];

设置高亮状态字体的颜色

  1. label.highlightedTextColor = [UIColor blueColor];

设置能否进行用户交互(默认为NO)

  1. label.userInteractionEnabled = YES;

此属性只决定如何绘制标签。禁用的文本有些模糊,表示它不活跃。默认情况下,此属性被设置为yes。

  1. label.enabled = NO;

自适应

default is NO 设置字体大小适应label宽度

  1. label.adjustsFontSizeToFitWidth = YES;

default is UIBaselineAdjustmentAlignBaselines //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为

  1. label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

项目中label自适应高度代码

  1. + (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
  2. {
  3.  
  4. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , width, )];
  5. label.text = title;
  6. label.font = font;
  7. label.numberOfLines = ;
  8. [label sizeToFit];
  9. CGFloat height = label.frame.size.height;
  10. return height;
  11. }

项目中label自适应宽度的代码

  1. + (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
  2. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , , )];
  3. label.text = title;
  4. label.font = font;
  5. [label sizeToFit];
  6. return label.frame.size.width;
  7. }

作者:coder小鹏

ios开发UI篇--UILabel的更多相关文章

  1. iOS开发UI篇—懒加载

    iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了, ...

  2. ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

    本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...

  3. iOS开发UI篇—Modal简单介绍

    iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...

  4. iOS开发UI篇—简单的浏览器查看程序

    iOS开发UI篇—简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件 ...

  5. iOS开发UI篇—九宫格坐标计算

    iOS开发UI篇—九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间 ...

  6. iOS开发UI篇—字典转模型

    iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Creat ...

  7. iOS开发UI篇—xib的简单使用

    iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: ...

  8. iOS开发UI篇—从代码的逐步优化看MVC

    iOS开发UI篇—从代码的逐步优化看MVC 一.要求 要求完成下面一个小的应用程序. 二.一步步对代码进行优化 注意:在开发过程中,优化的过程是一步一步进行的.(如果一个人要吃五个包子才能吃饱,那么他 ...

  9. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

随机推荐

  1. opencv3.2.0图像对比度与亮度调整

    ##名称:图像对象度与对比度调整(由轨迹条分别控制对比度和亮度值) ##平台:QT5.7.1+opencv3.2.0 ##时间:2017年12月13日 /***********建立QT控制台程序*** ...

  2. 2018-10-15 21:07:38 c language

    2018-10-15 21:07:38 c language C语言编译器,神奇的魔法师 在类 UNIX 系统(Linux.Mac OS 等)下,可执行程序没有特定的后缀,系统根据文件的头部信息来判断 ...

  3. doPost方法不支持 a 标签和地址栏直接输入地址访问

    demo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. Oracle Sequence Cache 参数说明

    转自 http://blog.csdn.net/tianlesoftware/article/details/5995051 之前整理的一篇文章: ORACLE SEQUENCE 介绍 http:// ...

  5. CSS深入理解之overflow(HTML/CSS)

    简介 overflow看上去其貌不扬,其中蕴含的知识点还是很多的,有很多鲜为人知的特性表现. overflow基本属性值 1.visible(默认) 2.hidden 3.scroll 4.auto ...

  6. 结对编程的感想&收获

    关于结对编程的感想.感受,见我的另一篇随笔——<构建之法>结对编程   感想 下面我来谈谈本次结对编程的收获以及发现的问题 收获 ①这是我人生中第一次做UI界面设计,刚拿到这个题目还是比较 ...

  7. 3D打印材料的发展现状(1)

    材料是3D打印的物质基础,也是当前制约3D打印发展的瓶颈. 3D打印材料 3D打印材料是3D打印技术发展的重要物质基础,材料的发展对于3D打印的发展有重要的作用. 目前,3D打印材料主要包括工程塑料. ...

  8. 转:线程Thread (1)

    引言 1.理解多线程 2. 线程异步与线程同步 3.创建多线程应用程序 3.1通过System.Threading命名空间的类构建 3.1.1异步调用线程 3.1.2并发问题 3.1.3线程同步 3. ...

  9. GitBlit集成AD域LDAP

    GitBlit的配置文件: gitlblit安装目录下的 /data/gitblit.properties   ,用记事本或其他编译器打开即可. 集成AD域的LDAP操作步骤 打开配置文件,添加以下内 ...

  10. python---九九乘法表代码

    #_*_ coding:utf-8 _*_# author choco ''' #while循环num1=0while num1<9: num1+=1 num2=1 while num2< ...