ios开发UI篇--UILabel
概述
-
UILabel
类实现了一个只读文本视图。你可以使用这个类来画一个或多个静态文本.UILabel
类支持既简单又复杂的样式标签文本,还可以控制外观,比如标签是否使用了一个影子或者处于高亮状态等等. -
UILabel
类继承自UIView
创建
UILabel
对象 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
设置显示文字,默认是空的
label.text = @"测试";
设置字体(系统默认字体是17号字体)
label.font = [UIFont systemFontOfSize:16];
设置字体颜色(默认是黑色)
label.textColor = [UIColor redColor];
设置对齐方式(在iOS 9之后,此属性的默认值是nstextalignmentnatural;之前的iOS 9,默认值为nstextalignmentleft。)
居左
NSTextAlignmentLeft
居中
NSTextAlignmentCenter
居右
NSTextAlignmentRight
label.textAlignment = NSTextAlignmentCenter;
设置换行模式
以一个单词为单位换行,最一行显示不全内容以单词截断,后面直接不显示
NSLineBreakByWordWrapping
以字符换行
NSLineBreakByCharWrapping
以一个单词为单位换行,最后一行显示不全的内容,在label的最后直接截断,后面直接不显示
NSLineBreakByClipping
显示不全;
最后一行将最后的内容显示,前面使用...代替
例:Truncate at head of line: "...wxyasdasdz"
NSLineBreakByTruncatingHead
显示不全;
最后一行将前面的内容显示,最后使用...代替
例:Truncate at tail of line: "abcd..."
NSLineBreakByTruncatingTail
显示不全;
最后一行将前面的内容显示和最后的内容显示,中间使用...代替
NSLineBreakByTruncatingMiddle
label.lineBreakMode = NSLineBreakByWordWrapping;
设置阴影颜色
label.shadowColor = [UIColor greenColor];
设置阴影的偏移量,默认是 CGSizeMake(0, -1) --
a top shadow
label.shadowOffset = CGSizeMake(0, -2);
设置行数(当文本需要自适应时,需将行数设置为0)
label.numberOfLines = 0;
adjustsFontSizeToFitWidth
根据宽度调整font
,默认为 NO
label.adjustsFontSizeToFitWidth = YES;
attributedText
属性文本,这里不多做介绍,具体请点此查看高亮属性
设置是否处于高亮状态
[label setHighlighted:YES];
设置高亮状态字体的颜色
label.highlightedTextColor = [UIColor blueColor];
设置能否进行用户交互(默认为
NO
)label.userInteractionEnabled = YES;
此属性只决定如何绘制标签。禁用的文本有些模糊,表示它不活跃。默认情况下,此属性被设置为yes。
label.enabled = NO;
自适应
【ios开发UI篇--UILabel】
default is NO
设置字体大小适应label
宽度label.adjustsFontSizeToFitWidth = YES;
default is UIBaselineAdjustmentAlignBaselines
//如果adjustsFontSizeToFitWidth
属性设置为YES
,这个属性就来控制文本基线的行为label.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
项目中
label
自适应高度代码+ (CGFloat)getHeightByWidth:(CGFloat)width title:(NSString *)title font:(UIFont *)font
{UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, 0)];
label.text = title;
label.font = font;
label.numberOfLines = 0;
[label sizeToFit];
CGFloat height = label.frame.size.height;
return height;
}
项目中
label
自适应宽度的代码+ (CGFloat)getWidthWithTitle:(NSString *)title font:(UIFont *)font {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 1000, 0)];
label.text = title;
label.font = font;
[label sizeToFit];
return label.frame.size.width;
}
推荐阅读
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 深入理解Go之generate
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- 拍照一年啦,如果你想了解我,那就请先看看这篇文章
- 2020-04-07vue中Axios的封装和API接口的管理
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 亲子日记第186篇,2018、7、26、星期四、晴
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- iOS中的Block
- 两短篇