概述

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

属性

创建UILabel对象

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

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

label.text = @"测试";

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

label.font = [UIFont systemFontOfSize:16];

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

label.textColor = [UIColor redColor];

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

居左 NSTextAlignmentLeft
居中 NSTextAlignmentCenter
居右 NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter;

设置换行模式

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

设置阴影颜色

label.shadowColor = [UIColor greenColor];

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

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

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

 label.numberOfLines = 0;

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

label.adjustsFontSizeToFitWidth = YES;

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

高亮属性

设置是否处于高亮状态

[label setHighlighted:YES];

设置高亮状态字体的颜色

label.highlightedTextColor = [UIColor blueColor];

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

label.userInteractionEnabled = YES;

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

label.enabled = NO;

自适应

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

label.adjustsFontSizeToFitWidth = YES;

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

label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

项目中label自适应高度代码

+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{ UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(, , width, )];
label.text = title;
label.font = font;
label.numberOfLines = ;
[label sizeToFit];
CGFloat height = label.frame.size.height;
return height;
}

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

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

作者: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. iframe跨源报错:"Blocked a frame with origin from accessing a cross-origin frame"

    一.报错信息: “Blocked a frame with origin from accessing a cross-origin frame” 二.在stackoverflow上找到原因 Same ...

  2. Android开发各种Utils收集库

    为方便查找,已进行大致归类,其目录如下所示: Activity相关→ActivityUtils.java→Demo isActivityExists : 判断是否存在Activity launchAc ...

  3. button的OnClickListener的三种实现方法

    onclick事件的定义方法,分为三种,分别为在xml中进行指定方法:在Actitivy中new出一个OnClickListenner():实现OnClickListener接口三种方式. 代码分别如 ...

  4. aix系统下的websphere的静默安装

     一:环境 aix5.3,websphere6(ND版本,WebSphereV6.1_for_AIX_64-bit_Support.tar),注意:aix和websphere的版本问题 二:安装 ...

  5. ASP.Net与JSP如何共享Session值

     思路: ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象登录的ASPX文件 ...

  6. 1java异常详解

    语法错误.编译时错误语义错误.逻辑错误.运行时错误 数组下标越界,c,c++不检查,需要程序员控制. 1.注意:这里说的异常是运行期错误,不包括编译期错误. 2.try尝试运行,catch捕获并处理, ...

  7. Pig filter用法举例

    filter:过滤数据,只有符合特定条件的数据才会被保留下来,然后进入下一个数据流.   1)等值比较 filter data by $0 == 1 filter data by $0 != 1   ...

  8. shell_script2

    一.函数 1.简介 Shell函数类似于Shell脚本,里面存放了一系列的指令 不过,Shell的函数存在于内存,而不是硬盘文件,所以速度很快 另外,Shell还能对函数进行预处理,所以函数的启动比脚 ...

  9. django 板块动态切换

    需求:在同一页面的不同板块上可以实现动态切换,使用一个view实现,具体如下图所示,点击phy显示物理机列表,点击vm显示虚机列表,phy.vm对应的url均是动态生成:               ...

  10. Redis学习---Redis操作之其他操作

    全局有效的其他操作 save 强制将内存/缓存中的key刷到硬盘上 ------------------------------------------------------------------ ...