UILabel繼承自UIView是iOS中使用非常頻繁的一個(gè)視圖控件一般用于顯示文字。?
一:基本使用?
1.創(chuàng)建
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(20, 64, 100, 30)];
[self.view addSubview:label];
2.屬性設(shè)置?
在iOS中你想要使用一個(gè)屬性一般就直接“.”屬性英文名稱,或者“set”屬性英文名稱一般就可以出現(xiàn)
label.backgroundColor = [UIColor yellowColor];//設(shè)置背景顏色
label.textColor = [UIColor redColor];//設(shè)置Label上文字的顏色
label.text = @"我是一個(gè)UILabel";//設(shè)置Label上的文字
label.font = [UIFont systemFontOfSize:15];//設(shè)置Label上文字的大小 默認(rèn)為17
label.textAlignment = NSTextAlignmentCenter;//設(shè)置文字位子默認(rèn)靠左
label.numberOfLines = 0;//設(shè)置行數(shù)默認(rèn)為1,當(dāng)為0時(shí)可以就是設(shè)置多行
label.font = [UIFont fontWithName:@"Arial" size:30];//設(shè)置內(nèi)容字體和字體大小label.highlighted = YES;//Label是否高亮
//有時(shí)偶爾會(huì)使用到陰影設(shè)置
label.shadowColor = [UIColor blueColor];//設(shè)置陰影顏色
label.shadowOffset = CGSizeMake(10, 10);//設(shè)置陰影的偏移
二:高級(jí)設(shè)置?
1.自適應(yīng)?
在開發(fā)中經(jīng)常會(huì)有一個(gè)需求就是要讓UILabel的大小與文字自適應(yīng)
//第一個(gè)參數(shù)是設(shè)置一個(gè)范圍,如果想讓寬固定就把寬度寫死高度給個(gè)超大的數(shù)
// 如果想讓高固定就把高度寫死寬度給個(gè)超大的數(shù)
//第二個(gè)參數(shù)是設(shè)置樣式一般設(shè)置為NSStringDrawingUsesLineFragmentOrigin即可
//第三個(gè)參數(shù)是設(shè)置字體大小的字典數(shù)據(jù)//第四個(gè)參數(shù)一般設(shè)置為nil
CGSize labelSize = [label.text boundingRectWithSize:CGSizeMake(100, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName: label.font} context:nil].size;
這樣得到的lableSize就是自適應(yīng)的寬高了(可以把這個(gè)寫成一個(gè)屬性方法來方便使用)
2.豎排顯示?
有時(shí)會(huì)變態(tài)的要求讓文字豎排顯示?
實(shí)現(xiàn)方法:每個(gè)文字加一個(gè)換行符,這是最方便和簡單的實(shí)現(xiàn)方式。
label.text = @"請(qǐng)\n豎\n直\n方\n向\n排\n列";
label.numberOfLines = [label.text length];