关闭

UILabel的简单使用介绍

标签: baselineAdjustmentadjustsFontSizeToFitlineBreakModeUILabel的属性UILabel
1429人阅读 评论(0) 收藏 举报
分类:

首先创建一个label ,label是继承自UIView

UILabel *myLabel = [[UILabelalloc]init];

CGFloat labelW = 200;

CGFloat labelX = (self.view.frame.size.width - labelW)/2;

myLabel.frame = CGRectMake(labelX,100, labelW, 50);

myLabel.backgroundColor = [UIColorlightGrayColor];

_myLabel = myLabel;

[self.view addSubview:myLabel];


设置label的文字默认是nil

myLabel.text = @"依然fantasyfantasyfantasyfantasy";


设置label的字体大小默认是17

myLabel.font = [UIFont systemFontOfSize:30];


设置label的字体颜色默认的是nil

但是你不设置颜色的话 打印字体颜色的时候会出现UIDeviceWhiteColorSpace 0 1

这个颜色是[UIColor colorWithWhite:0 alpha:1];所以默认字体颜色是黑色

myLabel.textColor = [UIColor yellowColor];


在字上的阴影上的颜色 默认是空得没有shadowColor

myLabel.shadowColor = [UIColor redColor];


字体颜色的阴影颜色在字体的哪一个方向 默认是(0-1)是上面

0,1)是下面10)是右边-10)是左边-1-1)是左上依次下去

正负代表方向  数值代表距离的点数

(0,0)代表没有shadowColor

myLabel.shadowOffset = CGSizeMake(0, 0);


这个属性决定了一个label显示文字的行数默认是1就一行

如是0的话就是可以有无限行

如果文本的高度达到了控件的高度 或者超过了 都会启用lineBreakMode这个属性模式

myLabel.numberOfLines = 1;




textAlignment是设置label的对齐方式是一个枚举

默认是左对齐

NSTextAlignmentLeft=0     左对齐

NSTextAlignmentCenter=1    居中

NSTextAlignmentRight=2     右对齐

NSTextAlignmentJustified=3 左右两边都对齐 一个段落的最后一行是natural-aligned

NSTextAlignmentNatural=4   显示脚本的默认对齐方式

myLabel.textAlignment = NSTextAlignmentCenter;



枚举类型 默认是NSLineBreakByTruncatingTail

NSLineBreakByWordWrapping = 0, 按着一个单词来显示 不会被剪辑剩余的不会被显示

NSLineBreakByCharWrapping,   按着一个字体来显示 不会被剪辑剩余的不会被显示

NSLineBreakByClipping,         把能显示的全显示完 剩下的直接不显示可能有的字显示一半就被剪辑

NSLineBreakByTruncatingHead,   在那一行显示不全的话 那一行 就以 ...abcd模式来显示

NSLineBreakByTruncatingTail,   在那一行显示不全的话 那一行 就以 abcd...模式来显示

NSLineBreakByTruncatingMiddle 在那一行显示不全的话那一行 就以 ab...cd模式来显示

  

myLabel.lineBreakMode = NSLineBreakByTruncatingTail;



对于attributedText这个属性 可以改变label的一些属性比如fonttextColor

关于attributedText,看更多的信息请点这里

不用这个属性的话 不要设置为nil

若为nil的话 他会重新设置你的font text等 这时你会看到你的label没有文字了 

myLabel.attributedText = nil;



是不是高亮状态 默认是no

myLabel.highlighted = YES;

 

设置高亮状态下的颜色默认是nil

myLabel.highlightedTextColor = [UIColor redColor];


设置是否可以和用户直接交互 一般添加手势的时候会把这个打开

默认是不可以交互的

myLabel.userInteractionEnabled = YES;



默认是yes 若改成no字体的颜色会变暗

添加手势之后 把这个属性改为no这个手势依然可以被触发

不知道这个属性有什么用处 难道是单单的改变颜色

myLabel.enabled=YES;



这个属性当文本宽度小于控件宽度的时候 这个属性没做什么事情

当文本宽度大于控件宽度的时候 所有的文字会自适应这个控件的宽度,改变了字体的大小

myLabel.adjustsFontSizeToFitWidth = YES;


  

这个属性只有当adjustsFontSizeToFitWidth=yes的时候而且numberOfLines1的时候才起作用

若是UIBaselineAdjustmentAlignBaselines 的话 变小之后的字体和以前的字体 labely值的距离是不变的

若是UIBaselineAdjustmentAlignCenters的话 变小之后的字体和以前字体的中间center.y是不变的

若是UIBaselineAdjustmentNone的话 变小之后的字体和以前的字体距离label底部的距离是不变的

UIBaselineAdjustmentAlignBaselines = 0,当缩小文本位置基于最初的基线的时候才用到这个属性

UIBaselineAdjustmentAlignCenters,

UIBaselineAdjustmentNone,

myLabel.baselineAdjustment =UIBaselineAdjustmentAlignBaselines;


默认是0若是0则当前字体大小被识别为最小的字体

用这个属性来指定最小的乘数 这个乘数是当前的字体来计算出可以一个可以接受的字体来展示label

若是1的话表明这个字体不可以被放大和缩小了

myLabel.minimumScaleFactor = 0;


这个属性理解欠缺求大神指点官方文档没看到对这个的解释

这个属性是iOS9 才出现的

myLabel.allowsDefaultTighteningForTruncation = YES;



这个属性是用来设置多行label的最大宽度的

当自动布局的时候约束这个label的时候这个属性会起作用

在自动布局添加约束中,若文本超过了指定的最大宽度的时候 文本会另起一行 从而增加了label的高度

myLabel.preferredMaxLayoutWidth = 20;






0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:19769次
    • 积分:707
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:0篇
    • 译文:1篇
    • 评论:0条