码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发初探篇——Label的使用

时间:2015-06-22 17:51:59      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

概述


本文介绍Label的一些常规用法。由于满足UI需求时会存在很多细节的问题,所以需要对Label能做到一个比较灵活的使用。首先感谢博主KC写的精彩博文

本文主要内容如下:

  1.Labe的一些基本方法和属性

      2.Label控件如何自动适应控件中text的大小

      3.设计Label中其他的相关类

Labe的一些基本方法和属性


至于基本方法和属性,看如下示例:

  
 UILabel *label = [[UILabel alloc]init];
    
 label.backgroundColor = [UIColor redColor];
    
 label.text = @"HUSHUNFENG";
    
 label.font = [UIFont systemFontOfSize:12.0f];
    
 label.textColor = [UIColor yellowColor];

主要还是对font的使用要熟练,还有color通常不会是简单的调用这种方法进行设置。

Label控件如何自动适应控件中text的大小


实际工程设计中,通常需要根据text的大小来同步Label控件大小,使Label控件能够刚好完全“包住”Text,又不浪费多余的空间,这样也有利于View的布局。

有两个方法可以提供这种功能:

  • 对于单行文本数据的显示调用- (CGSize)sizeWithAttributes:(NSDictionary *)attrs;方法来得到文本宽度和高度。
  • 对于多行文本数据的显示调用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context ;方法来得到文本宽度和高度;同时注意在此之前需要设置文本控件的numberOfLines属性为0。

下面先举个单行的例子:

 
    UILabel *label = [[UILabel alloc]init];
    
    label.backgroundColor = [UIColor blackColor];
    
    label.text = @"HUSHUNFENG";
    
    label.font = [UIFont systemFontOfSize:12.0f];
    
    label.textColor = [UIColor greenColor];
    
    CGSize userNameSize=[label.text sizeWithAttributes:@{NSFontAttributeName: [UIFont systemFontOfSize:11]}];
    label.frame = CGRectMake(80, 100, userNameSize.width, userNameSize.height);

 注意最后这两句代码。我们通过text得到字体的宽度和高度,然后再去设置Label的frame。

iOS开发初探篇——Label的使用

标签:

原文地址:http://www.cnblogs.com/hushunfeng/p/4593539.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!