作為IOS里面最簡單和最常用的一個(gè)控件,掌握好對(duì)應(yīng)的知識(shí)點(diǎn)是非常重要的。
下面我們就總結(jié)一下IOS里面UILabel所對(duì)應(yīng)的屬性。
- (void) createUI {
// 定義并且創(chuàng)建一個(gè)UILabel對(duì)象
// 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高級(jí)屬性----------------------*/
// 設(shè)置陰影的顏色,如果使用clearColor就沒有顏色
label.shadowColor = [UIColor grayColor];
// 設(shè)置陰影的偏移量
label.shadowOffset = CGSizeMake(3, 3);
// 設(shè)置label中文字的對(duì)齊模式,默認(rèn)是靠左對(duì)齊
label.textAlignment = NSTextAlignmentCenter;
// 設(shè)定label文字顯示的行數(shù),默認(rèn)值為1,即只用一行來顯示
// 其他大于0的行數(shù),文字會(huì)盡量按照設(shè)定的行數(shù)來顯示
// 如果這個(gè)值為0:系統(tǒng)會(huì)對(duì)文字自動(dòng)計(jì)算所需要的行數(shù),按照所需要的行數(shù)來顯示文字。
label.numberOfLines = 0;
// self.view.backgroundColor = [UIColor whiteColor];
// 將Label顯示到屏幕上
[self.view addSubview:label];
}
其實(shí)就跟我們 android 里面的 TextView 是功能一樣的一個(gè)控件,只不多在 android 開發(fā)里面,我們寫對(duì)應(yīng)的 TextView 主要都是通過 xml 這種方式去寫,但是其實(shí)最終都是通過對(duì)應(yīng)的 xml 解析,然后生成對(duì)應(yīng)的對(duì)象,再進(jìn)行測量和布局,最后才能到顯示。
看到 IOS 這個(gè)地方對(duì) UILabel 的處理,它是固定了對(duì)應(yīng)控件的大小,這樣就省去了 android 里面進(jìn)行多次布局測量的過程,相較而言 IOS 這種對(duì) UI 控件的處理,會(huì)在效率上提高很多,但是與此同時(shí)會(huì)帶來有些效果并不能很方便的呈現(xiàn),比如自適應(yīng)寬高的控件。
總的來說,android 和 IOS 對(duì)相似控件的處理方式是各有千秋,更深入的去理解不同平臺(tái)之間的差異,才能有助于我們寫出更多更好更高效的控件出來。