作為IOS里面最簡單和最常用的一個(gè)控件息楔,掌握好對應(yīng)的知識點(diǎn)是非常重要的捏肢。
下面我們就總結(jié)一下IOS里面UILabel所對應(yīng)的屬性滋捶。
- (void) createUI {
// 定義并且創(chuàng)建一個(gè)UILabel對象
// UILabel是可以顯示在屏幕上盒粮,并且可以顯示文字的一種UI視圖
UILabel* label = [[UILabel alloc] init];
// 顯示文字的賦值
label.text = @"Hello World!,My age is 25.";
// 設(shè)定label的顯示位置
label.frame = CGRectMake(100, 100, 160, 100);
// 設(shè)置背景顏色
label.backgroundColor = [UIColor grayColor];
// 設(shè)置label文字的大小逆日,使用系統(tǒng)默認(rèn)的字體嵌巷,大小為12
label.font = [UIFont systemFontOfSize:18];
// 設(shè)置label文字的顏色
label.textColor = [UIColor whiteColor];
/*---------------UILabel高級屬性----------------------*/
// 設(shè)置陰影的顏色,如果使用clearColor就沒有顏色
label.shadowColor = [UIColor grayColor];
// 設(shè)置陰影的偏移量
label.shadowOffset = CGSizeMake(3, 3);
// 設(shè)置label中文字的對齊模式室抽,默認(rèn)是靠左對齊
label.textAlignment = NSTextAlignmentCenter;
// 設(shè)定label文字顯示的行數(shù)搪哪,默認(rèn)值為1,即只用一行來顯示
// 其他大于0的行數(shù)坪圾,文字會盡量按照設(shè)定的行數(shù)來顯示
// 如果這個(gè)值為0:系統(tǒng)會對文字自動計(jì)算所需要的行數(shù)晓折,按照所需要的行數(shù)來顯示文字惑朦。
label.numberOfLines = 0;
// self.view.backgroundColor = [UIColor whiteColor];
// 將Label顯示到屏幕上
[self.view addSubview:label];
}
其實(shí)就跟我們 android 里面的 TextView 是功能一樣的一個(gè)控件,只不多在 android 開發(fā)里面漓概,我們寫對應(yīng)的 TextView 主要都是通過 xml 這種方式去寫漾月,但是其實(shí)最終都是通過對應(yīng)的 xml 解析,然后生成對應(yīng)的對象胃珍,再進(jìn)行測量和布局梁肿,最后才能到顯示。
看到 IOS 這個(gè)地方對 UILabel 的處理觅彰,它是固定了對應(yīng)控件的大小栈雳,這樣就省去了 android 里面進(jìn)行多次布局測量的過程,相較而言 IOS 這種對 UI 控件的處理缔莲,會在效率上提高很多哥纫,但是與此同時(shí)會帶來有些效果并不能很方便的呈現(xiàn),比如自適應(yīng)寬高的控件痴奏。
總的來說蛀骇,android 和 IOS 對相似控件的處理方式是各有千秋,更深入的去理解不同平臺之間的差異读拆,才能有助于我們寫出更多更好更高效的控件出來擅憔。