关于UILabel的用法

序言: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方法,但是这里就不方便详说,有空以后会提到这一方面,毕竟一般来说不会有这种变态的需求。

你可能感兴趣的:(关于UILabel的用法)