作为IOS里面最简单和最常用的一个控件,掌握好对应的知识点是非常重要的。
下面我们就总结一下IOS里面UILabel所对应的属性。
- (void) createUI {
// 定义并且创建一个UILabel对象
// UILabel是可以显示在屏幕上,并且可以显示文字的一种UI视图
UILabel* label = [[UILabel alloc] init];
// 显示文字的赋值
label.text = @"Hello World!,My age is 25.";
// 设定label的显示位置
label.frame = CGRectMake(100, 100, 160, 100);
// 设置背景颜色
label.backgroundColor = [UIColor grayColor];
// 设置label文字的大小,使用系统默认的字体,大小为12
label.font = [UIFont systemFontOfSize:18];
// 设置label文字的颜色
label.textColor = [UIColor whiteColor];
/*---------------UILabel高级属性----------------------*/
// 设置阴影的颜色,如果使用clearColor就没有颜色
label.shadowColor = [UIColor grayColor];
// 设置阴影的偏移量
label.shadowOffset = CGSizeMake(3, 3);
// 设置label中文字的对齐模式,默认是靠左对齐
label.textAlignment = NSTextAlignmentCenter;
// 设定label文字显示的行数,默认值为1,即只用一行来显示
// 其他大于0的行数,文字会尽量按照设定的行数来显示
// 如果这个值为0:系统会对文字自动计算所需要的行数,按照所需要的行数来显示文字。
label.numberOfLines = 0;
// self.view.backgroundColor = [UIColor whiteColor];
// 将Label显示到屏幕上
[self.view addSubview:label];
}
其实就跟我们 android 里面的 TextView 是功能一样的一个控件,只不多在 android 开发里面,我们写对应的 TextView 主要都是通过 xml 这种方式去写,但是其实最终都是通过对应的 xml 解析,然后生成对应的对象,再进行测量和布局,最后才能到显示。
看到 IOS 这个地方对 UILabel 的处理,它是固定了对应控件的大小,这样就省去了 android 里面进行多次布局测量的过程,相较而言 IOS 这种对 UI 控件的处理,会在效率上提高很多,但是与此同时会带来有些效果并不能很方便的呈现,比如自适应宽高的控件。
总的来说,android 和 IOS 对相似控件的处理方式是各有千秋,更深入的去理解不同平台之间的差异,才能有助于我们写出更多更好更高效的控件出来。