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了