ios开发UI篇--UILabel
概述
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的更多相关文章
- iOS开发UI篇—懒加载
iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了, ...
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...
- iOS开发UI篇—Modal简单介绍
iOS开发UI篇—Modal简单介绍 一.简单介绍 除了push之外,还有另外一种控制器的切换方式,那就是Modal 任何控制器都能通过Modal的形式展⽰出来 Modal的默认效果:新控制器从屏幕的 ...
- iOS开发UI篇—简单的浏览器查看程序
iOS开发UI篇—简单的浏览器查看程序 一.程序实现要求 1.要求 2. 界面分析 (1) 需要读取或修改属性的控件需要设置属性 序号标签 图片 图片描述 左边按钮 右边按钮 (2) 需要监听响应事件 ...
- iOS开发UI篇—九宫格坐标计算
iOS开发UI篇—九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间 ...
- iOS开发UI篇—字典转模型
iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Creat ...
- iOS开发UI篇—xib的简单使用
iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: ...
- iOS开发UI篇—从代码的逐步优化看MVC
iOS开发UI篇—从代码的逐步优化看MVC 一.要求 要求完成下面一个小的应用程序. 二.一步步对代码进行优化 注意:在开发过程中,优化的过程是一步一步进行的.(如果一个人要吃五个包子才能吃饱,那么他 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
随机推荐
- 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 ...
- Android开发各种Utils收集库
为方便查找,已进行大致归类,其目录如下所示: Activity相关→ActivityUtils.java→Demo isActivityExists : 判断是否存在Activity launchAc ...
- button的OnClickListener的三种实现方法
onclick事件的定义方法,分为三种,分别为在xml中进行指定方法:在Actitivy中new出一个OnClickListenner():实现OnClickListener接口三种方式. 代码分别如 ...
- aix系统下的websphere的静默安装
一:环境 aix5.3,websphere6(ND版本,WebSphereV6.1_for_AIX_64-bit_Support.tar),注意:aix和websphere的版本问题 二:安装 ...
- ASP.Net与JSP如何共享Session值
思路: ASP.NET中序列化Session以二进制数据保存到数据库,然后由JSP读取数据库中的二进制数据反序列化成Session对象,再强制转化成JAVA的Session对象登录的ASPX文件 ...
- 1java异常详解
语法错误.编译时错误语义错误.逻辑错误.运行时错误 数组下标越界,c,c++不检查,需要程序员控制. 1.注意:这里说的异常是运行期错误,不包括编译期错误. 2.try尝试运行,catch捕获并处理, ...
- Pig filter用法举例
filter:过滤数据,只有符合特定条件的数据才会被保留下来,然后进入下一个数据流. 1)等值比较 filter data by $0 == 1 filter data by $0 != 1 ...
- shell_script2
一.函数 1.简介 Shell函数类似于Shell脚本,里面存放了一系列的指令 不过,Shell的函数存在于内存,而不是硬盘文件,所以速度很快 另外,Shell还能对函数进行预处理,所以函数的启动比脚 ...
- django 板块动态切换
需求:在同一页面的不同板块上可以实现动态切换,使用一个view实现,具体如下图所示,点击phy显示物理机列表,点击vm显示虚机列表,phy.vm对应的url均是动态生成: ...
- Redis学习---Redis操作之其他操作
全局有效的其他操作 save 强制将内存/缓存中的key刷到硬盘上 ------------------------------------------------------------------ ...