UILabel类的用法及实例

转载自:http://blog.csdn.net/weisubao/article/details/39528995

在以前的xcode版本中,练习的时候都会选择空模板,并在AppDelegate.m中的didFinishLaunchingWithOptions中书写代码实例化控件对象(比如标签),然后最终用[self.window addSubview:对象]的方法显示出来。


但xcode最新的几个版本中,已经没有空模板选项,而是单MVC模板,所以需要在ViewController.m的viewDidLoad中书写代码,并用[self.view addSubview:label1]来显示控件。


以下是label标签的属性:

[objc]  view plain copy
  1. - (void)viewDidLoad {  
  2.     //初始化一个label1标签对象,初始化有很多方法,最原始的就是init,此处用带有frame的方法  
  3.     UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(303030030)];  
  4.     //设置内容  
  5.     label1.text=@"我是 label 123 hello world 你好吗?在家吗?";  
  6.     //设置文字颜色  
  7.     label1.textColor=[UIColor whiteColor];  
  8.     //设置标签背景,clearColor是透明背景的意思  
  9.     label1.backgroundColor=[UIColor redColor];  
  10.     //设置文字对齐  
  11.     label1.textAlignment=NSTextAlignmentCenter;  
  12.     //设置字体,UIFont类有很多设置字体的方法,CMD+点击可查看。  
  13.     label1.font=[UIFont boldSystemFontOfSize:23];  
  14.     //这个字体设置会覆盖上面的设置,但字是否会倾斜加粗则需要看具体的字体  
  15.     label1.font=[UIFont italicSystemFontOfSize:23];  
  16.     //打印出所有系统字体,也是用得UIFont里一个方法,可CMD+点击查看  
  17.     NSArray *arr1=[UIFont familyNames];  
  18.     for (NSString *name in arr1) {  
  19.         NSLog(@"%@",name);  
  20.     }  
  21.     //一般可用,同时修改字体和字号的方法  
  22.     label1.font=[UIFont fontWithName:@"Georgia" size:40];  
  23.     //设置阴影颜色  
  24.     label1.shadowColor=[UIColor blackColor];  
  25.     //设置阴影偏移值,需要CGSizeMake值,第一个表示左右偏移,>0向右;第二个表示上下偏移,>0向下  
  26.     label1.shadowOffset=CGSizeMake(25);  
  27.     //设置高亮,如果设置为YES,则下面的高亮颜色会替换原先的textColor,而如果设置为No,或者高亮没开启,则高亮颜色设置无效,还是显示textColor值  
  28.     label1.highlighted=YES;  
  29.     label1.highlightedTextColor=[UIColor redColor];  
  30.     //根据标签大小自动调整文字大小,如否不开启,则多余的文字用...表示  
  31.     label1.adjustsFontSizeToFitWidth=YES;  
  32.     //文字与标签的对齐,依次是文本顶端、中间、底端于标签的中线对齐。可CMD+点击以下任意一个值,发现这是一枚举,默认值是UIBaselineAjustmentAlignBaselines  
  33.     //以下方法仅当只有一行文本时有效  
  34.     label1.baselineAdjustment=UIBaselineAdjustmentAlignBaselines;  
  35.     label1.baselineAdjustment=UIBaselineAdjustmentAlignCenters;  
  36.     label1.baselineAdjustment=UIBaselineAdjustmentNone;  
  37.       
  38.     UILabel *label2=[[UILabel alloc]initWithFrame:CGRectMake(308030080)];  
  39.     label2.text=@"hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world hello world ";  
  40.     //文字很多时,还是显示1行,最后以...省略  
  41.     //设置显示的行数,0是不限制多少行,但由于标签高度一定,如果显示不下,最终仍以...省略  
  42.     label2.numberOfLines=0;  
  43.     //设置换行和最后截断/省略  
  44.     //NSLineBreakByWordWrapping-以单词为单位换行,以单词为单位截断(即没有...,显示不了的直接截断不显示),默认,CMD+点击发现也是一枚举  
  45.     //NSLineBreakByCharWrapping-以字符为单位换行,以字符为单位截断  
  46.     //NSLineBreakByClipping-以单词为单位换行,以字符为单位截断  
  47.     //NSLineBreakByTruncatingHead-以单位为单位换行,以字符为单位截断,但最后一行的前面是...省略,如果是一行,则就在一行的开头有...  
  48.     //NSLineBreakByTruncatingTail-以单位为单位换行,以字符为单位截断,但最后一行的末尾是...省略,如果是一行,则就在一行的末尾有...  
  49.     //NSLineBreakByTruncatingMiddle-以单位为单位换行,以字符为单位截断,但最后一行的中间是...省略,如果是一行,则就在一行的中间有...  
  50.     label2.lineBreakMode=NSLineBreakByTruncatingHead;  
  51.       
  52.     //根据内容调整标签大小,三部曲  
  53.     UILabel *label3=[[UILabel alloc]initWithFrame:CGRectZero];  
  54.     label3.text=@"标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3 标签3";  
  55.     //1、计算内容大小,即获得高和宽,其实宽一般都给定了,只是计算高,而高宽二位对象一般是一个CGSize  
  56.     CGSize size1=[label3.text sizeWithFont:label3.font constrainedToSize:CGSizeMake(3001000) lineBreakMode:NSLineBreakByCharWrapping];  
  57.     //2、设置显示行数,即不限制函数  
  58.     label3.numberOfLines=0;  
  59.     //3、利用size1设置标签的宽和高  
  60.     label3.frame=CGRectMake(30180, size1.width, size1.height);  
  61.     //把上面初始化的标签label1、2、3增加到当前的view里,一并显示出来  
  62.     [self.view addSubview:label1];  
  63.     [self.view addSubview:label2];  
  64.     [self.view addSubview:label3];  
  65.     [super viewDidLoad];  
  66.     // Do any additional setup after loading the view, typically from a nib.  
  67. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值