序言:UILabel是继承自UIView的一个显示控件,基本是除了UIView之外使用最广泛的控件,单纯来说就是显示文字,然而显示文字里面还有很多文章,让我们来看看这个UILabel这个类到底讲的是些什么
首先是基本使用方法
创建:
UILabel *text =[ [UILabel alloc]initWithFrame:CGRectMake(20,64,100,30 )];
[self.view addSubview:text];
以上为text分配了空间与具体的坐标,大小,并把该label展示在view上。
相关的属性设置
在iOS中你想要使用一个属性一般就直接“.”属性英文名字,或者用set属性英文名字属性就会出现(语法错误除外)
text.backgroundColor = [UIColor yellowColor];
//设置背景颜色
text.textColor = [UIColor redColor];
//设置字体颜色
text.text= @“ label的文字 ”;
//设置Label上的文字
text.font = [UIFont systemFontOfSize:15];
//设置字体大小
text.numberOfLines = 1;
//设置行数默认为1,当为0时可以就是设置多行
text.font = [UIFont fontWithName:@" 内容字体(很多种) " size:30];
//设置内容字体和字体大小
text.highlighted = YES;
//设置text是否高亮
特殊的使用也就是稍微高级一点的设置
自适应
这个方法很多地方要用到,特别是tableView 当中经常会用到,毕竟要计算label的高度然后设置label所在的tableviewcell 的高度,否则会造成显示不全的问题,下面会用到CGSize这个类:
CGSize textSize = [text.text boundingRextWithSize:CGSizeMake(100,MAXFLOAT) option:NSStingDrawingUsesLineFragmentOrigin|NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttibuteName: text.font} context:nil].size;
以上这一大段代码就是基本囊括使用label计算自适应高度的参数:
1.第一个参数是设置一个范围,如果想让宽固定就把宽度血丝高度给个超大的数,如果想让高固定就把高度写死宽度给个超大的数
2.第二个参数是设置样式,一般设置为NSStringDrawingUsesLineFragmentOrigin即可
3.第三个参数是设置字体大小的字典数据
4.第四个参数一般设置为nil
竖排显示方法
有时候有些恶心的需求需要让文字竖排,虽然恶心,但是也不是没有办法实现的,我们可以这样:
每个文字加一个换行符,这事最方便和简单的实现方法。
text.text = @"这\n是\n测\n试\n竖\n排\n文\n字";
//这段代码是为了换行,但是单单这样还是不行的
所以我们要加下面这段代码
text.numberOfLines = [text.text length];
//而这段代码意思就是换行的行数由label内容字体个数来决定
而有时候一段文字里面每个字都要有不同的字体颜色需求的时候,我们不可能一个一个的创建,这时候要用到attributedText方法,但是这里就不方便详说,有空以后会提到这一方面,毕竟一般来说不会有这种变态的需求。