码迷,mamicode.com
首页 > 其他好文 > 详细

UILabel文本垂直顶部对齐的方法

时间:2014-07-18 21:01:16      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:http   color   使用   os   width   io   

也不知道为什么UILabel本身没有提供文本垂直顶部对齐的方法,真的有点晕。我们创建一个简单的UILabel来看看:

[box type="info"]

UILabel *myLabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 300, 100)];

[myLabel setText:@"苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的"];

[myLabel setFont:[UIFont fontWithName:@"Arial" size:14.0]];

[myLabel setBackgroundColor:[UIColor blueColor]];

[myLabel setTextColor:[UIColor whiteColor]];

[self.view addSubview:myLabel];

[/box]

在ios模拟器上看到的效果如下图:

bubuko.com,布布扣

 

这显然不是我们要的效果,我们再添加一行代码:

myLabel.numberOfLines = 0;

结果是:

bubuko.com,布布扣

 

显示有点正常了,但如何使文字顶部对齐呢?

实现代码:

[box type="info"]

UILabel *myLabel = [[UILabel alloc]init];//WithFrame:CGRectMake(10, 10, 300, 100)];

 

UIFont *strFont = [UIFont fontWithName:@"Arial" size:14.0];

 

[myLabel setFont:strFont];

[myLabel setBackgroundColor:[UIColor blueColor]];

[myLabel setTextColor:[UIColor whiteColor]];

myLabel.numberOfLines = 0;

 

CGSize maximumSize = CGSizeMake(300, 999);

NSString *string = @”苹果iOS(iphone Operation System)是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的”;

CGSize stringSize = [string sizeWithFont:strFont

constrainedToSize:maximumSize

lineBreakMode:myLabel.lineBreakMode];

[myLabel setText:string];

CGRect strFrame = CGRectMake(10, 10, 300, stringSize.height);

myLabel.frame = strFrame;

[self.view addSubview:myLabel];

 

[/box]

运行结果如下图:

bubuko.com,布布扣

 

盆友们,如果有更好的方法使UILabel垂直顶部对齐,一定要分享出来哦

UILabel文本垂直顶部对齐的方法,布布扣,bubuko.com

UILabel文本垂直顶部对齐的方法

标签:http   color   使用   os   width   io   

原文地址:http://www.cnblogs.com/yjg2014/p/3850363.html

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