博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01-UI基础-02UILable
阅读量:6514 次
发布时间:2019-06-24

本文共 3544 字,大约阅读时间需要 11 分钟。

hot3.png

##继承关系 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 = 0label.lineBreakMode = NSLineBreakByTruncatingMiddle;

###2.7、enabled

设置文字内容是否可变。

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

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

myLabel.adjustsFontSizeToFitWidth = YES;//调整基线位置需将此属性设置为YESmyLabel.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的FrameNSLog(@"%f",heightLabel.size.height);

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

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

##四、官方文档

转载于:https://my.oschina.net/wecnlove/blog/596833

你可能感兴趣的文章
数据库设计 Step by Step (6) —— 提取业务规则
查看>>
Redis客户端redisson实战
查看>>
连接到 JasperReports Server
查看>>
java处理高并发高负载类网站问题
查看>>
使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)
查看>>
CAS服务器端集群
查看>>
设计模式 之 访问者模式
查看>>
JAVA Collections框架
查看>>
进制转换
查看>>
ASCII码
查看>>
java常用四种排序源代码
查看>>
win7 下硬盘安装Redhat7
查看>>
Redis 分布式锁的正确实现方式
查看>>
mysqldump 备份命令使用中的一些经验总结
查看>>
Linux下MySql安装配置方法总结
查看>>
ArrayList底层实现
查看>>
【转载】Java程序设计入门 (二)
查看>>
单词最近距离
查看>>
程序猿知道英语词汇
查看>>
数据存储(两)--SAX发动机XML记忆(附Demo)
查看>>