我的好朋友给我制定了一个新的学习方法,从新的看每个控件,去了解他的每个属性,方法来让自己对oc的认识更加充实
今天重新认识一下UILable 的属性
lable的阴影设置: 阴影的偏移量是以lable中文字的左上角为原点的//设置标题阴影颜色
lab.shadowColor = [UIColor redColor];
//设置标题阴影的偏移量
lab.shadowOffset = CGSizeMake( , );
aaarticlea/png;base64,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" alt="" />
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 = ;
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 = ;
lab.baselineAdjustment =UIBaselineAdjustmentAlignBaselines;
allowsDefaultTighteningForTruncation
// 这个属性是用来设置多行label的最大宽度的
// 当自动布局的时候约束这个label的时候这个属性会起作用
// 在自动布局添加约束中,若文本超过了指定的最大宽度的时候 文本会另起一行 从而增加了label的高度
preferredMaxLayoutWidth 主要应用于6.0用于限制 文本宽度
文本自动布局参数
//计算lab文字指定行数的 高度
limitedToNumberOfLines 规定行数
如果设定 bounds 大小 ,于本身高度 ,则最大高度为设定高度
如果 bounds大小,超过 lab本身最大高度为本身高度
CGRect rect = [lab textRectForBounds:CGRectMake(, , , ) limitedToNumberOfLines:];
绘制text到指定区域
- (void)drawTextInRect:(CGRect)rect
//需要重载此方法,然后由子类调用,重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了