IOS-UILabel使用

作为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 对相似控件的处理方式是各有千秋,更深入的去理解不同平台之间的差异,才能有助于我们写出更多更好更高效的控件出来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,285评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,232评论 4 61
  • 22年前的高考前的一天,当我在县城最繁华却布满灰垢的街道上晃荡时,遇到一远房亲戚,他问我,如果没有考上大学,愿...
    枫亭晚归阅读 457评论 0 0
  • 有一件非常值得气愤的事情。 弟弟大概因为是男孩的缘故,所以从不曾被使唤做任何家务,甚至连给奶奶洗脸漱口的事情也不做...
    阿旧阅读 184评论 0 0
  • 或许,有一个地方存在着另一个我, 牵着你的手在楼上看日出, 在篱下等日落, 那不是梦是另一个世界的因果。
    柳尘微阅读 189评论 0 2