UILabel用法,uilabel換行
// UILabel -> UIView
// UILabel用來顯示文字內容
//建立一個Label,一般都直接通過initWithFrame確定位置跟大小
UILabel *lb = [[UILabel alloc]initWithFrame:CGRectMake(50, 80, 200, 200)];
//設定背景色,系統預設是白色背景
lb.backgroundColor = [UIColor grayColor];
//設定文字
lb.text = @"Application windows are expected to have a root view controller at the end of application launch";
//設定文字的顏色後,並通過colorWithAlphaComponent設定它的透明度(0~1),系統預設為黑色
lb.textColor = [[UIColor redColor] colorWithAlphaComponent:0.5];
//設定字型大小,系統預設為17
lb.font = [UIFont systemFontOfSize:20];
//設定粗體,同時設定字型大小
//lb.font = [UIFont boldSystemFontOfSize:20];
//設定斜體,中文字型不生效
//lb.font = [UIFont italicSystemFontOfSize:20];
// 使用其他字型
//lb.font = [UIFont fontWithName:@"Avenir Next Condensed" size:20];
//倘若需要,可以通過以下函數來輸出iPhone所有的字型庫
//NSLog(@"%@",[UIFont familyNames]);
//設定字型的對齊
/*
NSTextAlignmentLeft 系統預設值
NSTextAlignmentCenter 字型置中
NSTextAlignmentRight 字型靠右對齊
NSTextAlignmentJustified 段落的最後一行是natural-aligned
NSTextAlignmentNatural 跟靠左對齊沒什麼差別,目前還不怎麼瞭解,歡迎指點
*/
lb.textAlignment = NSTextAlignmentCenter;
//設定文字的陰影製作效果
lb.shadowColor = [UIColor blueColor];
//設定陰影位移(位移方向,自己通過多多嘗試就明白了,這裡就不做過多的講述)
lb.shadowOffset = CGSizeMake(-5, 5);
如下
//文字的折行模式
/*
NSLineBreakByWordWrapping 以單詞作為截取,以單詞換行
NSLineBreakByCharWrapping 以字元作為截取,以字元換行
NSLineBreakByClipping 以單詞為截取,以字元換行
NSLineBreakByTruncatingHead Truncate at head of line: "...wxyz"
NSLineBreakByTruncatingTail Truncate at tail of line: "abcd..."
NSLineBreakByTruncatingMiddle Truncate middle of line: "ab...yz
*/
[注意]換行模式要結合下面的numberOfLines才能看得出效果
lb.lineBreakMode = NSLineBreakByTruncatingHead;
// 換行模式,預設為0,代表可以任意行
lb.numberOfLines = 3 ;
//設定文字高亮時的顏色[兩者要結合使用才能看出效果]
lb.highlightedTextColor = [UIColor yellowColor];
//設定文字是否高亮
lb.highlighted = YES;
//設定是否與使用者互動,預設值為NO,一般都是沒去修改它的,因為幾乎沒有用標籤於使用者互動
lb.userInteractionEnabled = NO;
//是否可變
lb.enabled = NO;
//最後說一個很重要的,也經常在標籤要用到的方法
/*
通過text文字的多少來計算文字的寬與高
參數1: label最大顯示的矩形地區,比如下面的320跟 CGFLOAT_MAX就是這個Label標籤的寬跟高的最大值
參數2: 計算的附加條件,例如換行模式
一般使用: NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin
Leading: 行與行之間的間隔
Origin: 每一行所佔據的矩形地區
參數3: 是一個字典,計算一些屬性,比例文字的大小等
傳回值是一個CGRect
*/
CGSize size = [text boundingRectWithSize:CGSizeMake(320, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont systemFontOfSize:20]} context:NULL].size;
新手可以試著全部用標籤做出這個介面,練練手