時隔半年之久,終於又有時間來繼續博客的記錄。這半年真的是太忙了。。。。
UILabel介紹
在Xcode中,當深入去查看UILabel的類會發現UILabel是UIView的子類。也就是UIView的一些屬性和方法在UILabel中也都是適用的。
UILabel是一個用於展示文字的控件,簡單的說創建一個UILabel的實例就是爲了放文字的,想要在那個位置展示文字,就在那裏創建一個Label。
UILabel的創建
label的創建和view的創建相同,常用的有兩種方法:
//1、創建一個有位置大小的Label 位置:x:32 y:168 大小:width:100 height:30
UILabel *labelA = [[UILabel alloc] initWithFrame:CGRectMake(32, 168, 100, 30)];
//2、創建一個沒有設置位置大小的label實例
UILabel *labelB = [[UILabel alloc] init];
UILabel的常用屬性
上面說到UILabel類是繼承自UIView的,所以在前面介紹的UIView類中的常用屬性就不再介紹了,UILabel的frame、background、tag、layer、alpha、hidden等屬性和UIView類中的使用方式完全相同,這裏介紹在UIView中沒有出現的屬性。
1、text屬性
前面在介紹UILabel的時候說到,label就是用來存放文字的,所以文字屬性是UILabel的重要屬性。沒有文字,那麼label和view在展示上就沒有區別。都是一個空間塊。text屬性是用來給label上添加文字的。使用也很簡單,就是將想要放在label上的文字賦值給label的text屬性就可以了。
//給text屬性賦值
labelA.text = @"我是LabelA";
NSString *string = @"我是LabelB";
labelB.text = string;
2、font屬性
font屬性是用來設置label上文字字體大小和字體樣式的,我們通過設置font屬性可以根據設計需求設置文字的大小和字體樣式。
//設置字體大小爲系統字體12
labelA.font = [UIFont systemFontOfSize:12];
//設置字體大小爲系統字體12 字體寬度爲2
labelA.font = [UIFont systemFontOfSize:14 weight:2];
//設置字體大小12 字體樣式爲AmericanTypewriter
labelA.font = [UIFont fontWithName:@"AmericanTypewriter" size:16];
關於字體,常見的設置方式有以上3中,在上面的代碼中看到出現了一個UIFont類,這個類就是管理文字字體的。關於字體樣式可以去網上查詢一下,有對照關係,很方便設置。
3、textColor屬性
textColor屬性是用來設置文字顏色。
//設置文字顏色 設置爲黃色
labelA.textColor = [UIColor yellowColor];
上面再設置顏色的時候使用到了UIColor類,這個類管理顏色,設置顏色的方法有很多具體參考UIColor類中的方法。具體方法使用command+鼠標左鍵點擊UIColor就可以查看。
4、textAlignment屬性
textAlignment是文字對其屬性,用來設置文字等我對其方式,就像word中一樣,有左對齊、右對齊、居中。
//設置文字對其方式 居中
labelA.textAlignment = NSTextAlignmentCenter;
/*常用對其方式
NSTextAlignmentLeft = 0, // Visually left aligned 左對齊
NSTextAlignmentCenter = 1, // Visually centered 居中
NSTextAlignmentRight = 2, // Visually right aligned 右對齊
*/
5、numberOfLines屬性
numberOfLines屬性是設置文字的行數。
//設置文字行數
/*設置行數時,當numberOfLines=0表示文字根據label的大小自動分行。其他需要一行numberOfLines=1需要兩行numberOfLines=2即可*/
labelA.numberOfLines = 0;
6、shadowColor屬性、shadowOffset屬性
這裏我將連個屬性放在一起,這兩個屬性一起來設置字體陰影
//設置文字陰影
labelA.shadowColor = [UIColor yellowColor];
//CGSizeMake(5, -8) 連個數字參數 第一個正數表示向右陰影負數表示向左陰影 第二個正數表示向下陰影負數表示向上陰影
//這裏的理解可以將文字作爲一個二維座標系的圓點想右爲x軸的正方向,向下爲y軸的正方向。
labelA.shadowOffset = CGSizeMake(5, -8);