文档章节

01-UI基础-02UILable

口十耳
 口十耳
发布于 2016/01/04 14:21
字数 891
阅读 11
收藏 0

##继承关系 Inherits From ##一、初始化

UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 44)];
     
[self.view addSubview:myLabel];

##二、属性 ###2.1、text(标签文本)

设置标签显示文本。

###2.2、attributedText(标签属性文本)

设置标签属性文本。

NSString *text = @"first";  
NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text];  
[textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor lightGrayColor],   
 NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(11, 10)];
label.attributedText = textLabelStr;  

###2.3、font(字体)

设置标签文本字体。默认是系统自带字体,大小为17。

label.font = [UIFont systemFontOfSize:17]
label.font = [UIFont fontWithName:@"Arial" size:16];  

###2.4、textColor(文本颜色)

设置颜色

myLabel.textColor = [UIColor blueColor];

###2.5、textAlignment(文本对齐)

设置标签文本对齐方式。

label.textAlignment = NSTextAlignmentLeft //左对齐
label.textAlignment = NSTextAlignmentCenter //居中
label.textAlignment = NSTextAlignmentRight  //右对齐
label.textAlignment = NSTextAlignmentJustified//最后一行自然对齐
label.textAlignment = NSTextAlignmentNatural //默认对齐脚本

###2.6、lineBreakMode(文字剪裁)

设置标签文字过长时的显示方式,这个属性使用于label中文本的换行和截短。首先numberofLines必须设置为0,才有效果。

// 以字符为显示单位显示,后面部分省略不显示。  
label.lineBreakMode = NSLineBreakByCharWrapping;
// 剪切与文本宽度相同的内容长度,后半部分被删除。
label.lineBreakMode = NSLineBreakByClipping;
// 前面部分文字以……方式省略,显示尾部文字内容。  
label.lineBreakMode = NSLineBreakByTruncatingHead;
// 中间的内容以……方式省略,显示头尾的文字内容。   
label.lineBreakMode = NSLineBreakByTruncatingMiddle; 
// 结尾部分的内容以……方式省略,显示头的文字内容。
label.lineBreakMode = NSLineBreakByTruncatingTail;
// 以单词为显示单位显示,后面部分省略不显示。
label.lineBreakMode = NSLineBreakByWordWrapping;

label.numberOfLines = 0
label.lineBreakMode = NSLineBreakByTruncatingMiddle;

###2.7、enabled

设置文字内容是否可变。

###2.8、adjustsFontSizeToFitWidth(对齐基线)

文字内容自适应标签宽度。

myLabel.adjustsFontSizeToFitWidth = YES;//调整基线位置需将此属性设置为YES
myLabel.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
/*三种值可以选择
UIBaselineAdjustmentAlignBaselines //文本最上端与Label中线对齐,默认值
UIBaselineAdjustmentAlignCenters   //文本中线与Label中线对齐
UIBaselineAdjustmentNone           //文本最下端与Label中线对齐
*/

###2.9、adjustsLetterSpacingToFitWidth(间隔自适应)

根据字母的间隔自适应标签宽度,超出部分以……显示。

###2.10、numberOfLines(行数)

标签最多显示行数。

###2.11、minimumScaleFactor(最小字体)

设置最小字体,与minimumFontSize相同,minimumFontSize在IOS 6后不能使用。

iOS6.0之前:minimumFontSize iOS6.0之后:minimumScaleFactor

###2.12、highlightedTextColor(高亮)

设置文本高亮显示颜色,与highlighted一起使用。

myLabel.highlighted = YES;//是否高亮
myLabel.highlightedTextColor = [UIColor redColor];//高亮颜色;此属性在设置按钮的titleLabel时,无论highlighted是YES还是NO,在按钮按下时标题都显示此高亮颜色

###2.13、shadowColor(阴影)

设置文本阴影颜色。

myLabel.shadowColor = [UIColor grayColor];//阴影颜色,默认为nil

###2.14、shadowOffset(阴影偏移量)

设置文本阴影与原文本的偏移量。

myLabel.shadowOffset = CGSizeMake(1, 1);//阴影的偏移点

###2.15、userInteractionEnabled

设置标签是否忽略或移除用户交互。默认为NO。

###2.16、preferredMaxLayoutWidth

优先选择标签布局的最大宽度。

###2.17、baselineAdjustment

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

label4.baselineAdjustment = UIBaselineAdjustmentNone;  
UIBaselineAdjustmentAlignBaselines=0,默认,文本最上端与中线对齐。  
UIBaselineAdjustmentAlignCenters,   文本中线与label中线对齐。  
UIBaselineAdjustmentNone,  文本最低端与label中线对齐。

###2.18、backgroundColor(背景颜色)

// 清空背景颜色
label1.backgroundColor = [UIColor clearColor];

##三、位置 ###3.1、计算UIlabel 随字体多行后的高度

CGRect result,bounds;
bounds = CGRectMake(0, 0,200, 300);
heightLabel = [myLabel textRectForBounds:bounds limitedToNumberOfLines:20];//计算20行后的Label的Frame
NSLog(@"%f",heightLabel.size.height);

###3.2、绘制text到指定区域

- (void)drawTextInRect:(CGRect)rect
//需要重载此方法,然后由子类调用,重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了

##四、官方文档 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UILabel_Class/index.html#//apple_ref/occ/cl/UILabel

© 著作权归作者所有

口十耳
粉丝 6
博文 69
码字总数 66563
作品 0
浦东
高级程序员
私信 提问
会议纪要-03.17.2015

曾艳明: 01.完成数据模块(玩家表,模板表) 02.推塔系统(基础信息部初始化部分50%) 杨祁博: 01.完成推塔初始化 02.完成推塔主界面 卢凯庆: 00.替换主城和UI 00.配合若希使用剧情编辑器...

索亚之息
2015/03/17
4
0
会议纪要-06.10.2015

祁博: 01.关卡怪物预览 凯庆: 01.替换祭坛UI 02.商店微调UI 雷鹏: 01.逻辑替换(副本) 国雄: 01.竞技场结算 艳明: 01.好友系统开发 02.修改bug 晓秋: 01.测试修改精英关卡和地宫怪物数...

索亚之息
2015/06/10
2
0
会议纪要-05.12.2015

祁博: 01.修改英雄,附魔,地宫Bug 凯庆: 01.召唤UI替换 雷鹏: 01.竞技场UI替换 国雄: 01.竞技场排名UI替换 艳明: 01.修改bug 02.服务器部署 晓秋: 01.技能描述 徐刚: 01.更新六月份版...

索亚之息
2015/05/12
1
0
会议纪要-05.22.2015

祁博: 01.修改英雄升星 02.修改bug 凯庆: 01.修改bug 02.UI展示 雷鹏: 01.替换关卡UI完成 国雄: 01.GM工具对接 艳明: 01.开发GM工具 晓秋: 01.整理技能数据 02.补充数据 徐刚: 01.聊天...

索亚之息
2015/05/22
0
0
会议纪要-07.04.2015

祁博: 01改bug 小贱: 01改bug 02调整祭坛 国雄: 01换玩家信息UI 艳明: 01聊天系统 雷鹏: 01场景镜头调整 02英雄过场 徐刚: 01推图UI特效需求 02梳理各系统UI特效需求 晓秋: 01测试,检...

索亚之息
2015/07/04
1
0

没有更多内容

加载失败,请刷新页面

加载更多

微信点击链接,用默认浏览器中打开指定网址链接!

最近有客户咨询,自己的链接在微信种推广,经常会被无缘无故封杀,有没有一种功能,用户在微信中点击我们推广的链接,可以自动强制跳转到手机默认浏览器中打开指定的网址链接?这样我们的网址...

我是韩国史蒂芬
4分钟前
0
0
面试高频问题:HashMap实现原理

今天给同学们讲讲一个面试经常遇到的高频问题,HashMap实现原理,希望在金三银四的季节对同学们有帮助。 HashMap结构图目录 一、唠叨 二、解析思路 三、get方法 四、put方法 五、resize方法 ...

骚年锦时
5分钟前
1
0
Redis【4】Java Jedis 操作 Redis~

package redis.redis;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;/** * 描述:Jedis连接池工具类 * 【时间 2019-05-20 15:13:34 作者 陶攀峰】...

Java领航员
7分钟前
0
0
Qt编写安防视频监控系统5-视频回放

一、前言 一般视频回放都会采用GB28181国标来处理,这样可以保证兼容国内各大厂家的NVR,毕竟在同一的国家标准下,大家都会统一支持国标的,就不需要根据各个厂家的SDK来做兼容处理,烦得很,...

飞扬青云
10分钟前
0
0
Jenkins关闭和重启实现方式

1、关闭Jenkins 只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit 网址就能关...

shzwork
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部