UIlable 属性详用

我的好朋友给我制定了一个新的学习方法,从新的看每个控件,去了解他的每个属性,方法来让自己对oc的认识更加充实  
今天重新认识一下UILable 的属性
lable的阴影设置: 阴影的偏移量是以lable中文字的左上角为原点的
//设置标题阴影颜色 lab.shadowColor = [UIColor redColor]; //设置标题阴影的偏移量 lab.shadowOffset = CGSizeMake(5 , 5);

lable对齐方式:justified正当 natural 自然 实验也没什么效果
/* 设置lable 文字对齐方式 NSTextAlignmentLeft = 0, NSTextAlignmentCenter = 1, NSTextAlignmentRight = 2, NSTextAlignmentJustified = 3, NSTextAlignmentNatural = 4, */ lab.textAlignment = NSTextAlignmentRight; lable 当lable宽度不够时 文字的省略方式 /* NSLineBreakByWordWrapping = 0, 以单词为显示单位,后面不显示 NSLineBreakByCharWrapping, 以字符为显示单位,后面不显示 NSLineBreakByClipping, 剪切与文本宽度相同的内容长度,后半部分被删除 NSLineBreakByTruncatingHead 前面部分文字以……方式省略,显示尾部文字内容 NSLineBreakByTruncatingTail 结尾部分部分文字以……方式省略,显示头文字内容 NSLineBreakByTruncatingMiddl 中间部分 以....方式省略 ,显示头尾 文字内容 */ lab.lineBreakMode = NSLineBreakByTruncatingMiddl;
lable 设置属性文本
1.先创建一个NSAttributedString 对象 arrStr
2.创建一个字典来设置 arrStr的属性
3.再放入到 lab中

    NSMutableDictionary * formatDic = [[NSMutableDictionary alloc]init];
    [formatDic setObject:[UIColor blueColor] forKey:NSForegroundColorAttributeName];
    
    NSAttributedString * arrStr = [[NSAttributedString alloc]initWithString:@"测试一下" attributes:formatDic];
    lab.attributedText = arrStr;

 lable不跟button一样能点击,但是lable也有高亮状态,也能设置高亮的颜色

    lab.highlightedTextColor = [UIColor orangeColor];
    lab.highlighted = YES;

lable是否允许操作

userInteractionEnabled 是否允许用户交互

enabled 控件不可用

    lab.userInteractionEnabled = YES;
    lab.enabled = YES;

lable内容 换行

numberofLines 为 0 时 无限制换行知道lable高度后采用lineBreakMode设置的文字省略方式

numberofLines 为1....整数时 为制定行数

 

lab.numberOfLines = 0;

 

lable设置文本最小字体,要使其生效还必须设置adjustsFontSizeToFitwidth为yes

adjustsFontSizeToFitWidth 宽度自适应大小
adjustsLetterSpacingToFitWidth 调整字母间距以适应宽度
当这个属性是YES,标签可能改变标签文本的字母间距,以使该文本更适合标签的边界内
lab.minimumFontSize = 10.0;//minimumScaleFactor(6.0)之后适用
lab.adjustsFontSizeToFitWidth = YES;

 lable垂直方向的调整文本

 /*
   UIBaselineAdjustmentAlignBaselines 调整文本对应基线位置
   UIBaselineAdjustmentAlignCenters  调整文本相对其边框的中心
   UIBaselineAdjustmentNone 调整文本相对于边界左上角 默认
 */
lab.adjustsFontSizeToFitWidth = YES; lab.numberOfLines = 1; lab.baselineAdjustment =UIBaselineAdjustmentAlignBaselines;

 allowsDefaultTighteningForTruncation 

//    这个属性是用来设置多行label的最大宽度的
//    当自动布局的时候约束这个label的时候这个属性会起作用
//    在自动布局添加约束中,若文本超过了指定的最大宽度的时候 文本会另起一行 从而增加了label的高度

 preferredMaxLayoutWidth 主要应用于6.0用于限制 文本宽度

文本自动布局参数

//计算lab文字指定行数的 高度

limitedToNumberOfLines 规定行数

如果设定 bounds 大小 ,于本身高度 ,则最大高度为设定高度

如果 bounds大小,超过 lab本身最大高度为本身高度

CGRect rect  = [lab textRectForBounds:CGRectMake(0, 0, 100, 50) limitedToNumberOfLines:30];

绘制text到指定区域

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

posted on 2016-03-18 11:20  GG.Bong  阅读(410)  评论(0编辑  收藏  举报