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

IOS中Label根据上个label的内容设置下个label的frame

时间:2015-09-18 15:37:25      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

#import "ViewController.h"

 

@interface ViewController ()

@property(nonatomic,strong)UILabel *labelOne;

@property(nonatomic,strong)UILabel *labelTwo;

@property(nonatomic,copy)NSString *str;

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    NSString *strOne=@"搜房网是全球最大的房地产家居网络平台,页面浏览量和访问量在同类网站中处于绝对领先地位。拥有9000名员工,网络业务覆盖300多个城市,在中国100多个城市拥有分公司和办公室。2010年9月搜房网(股票代码SFUN)在美国纽约证券交易所成功上市。搜房网是全球最大的房地产家居网络平台,页面浏览量和访问量在同类网站中处于绝对领先地位。拥有9000名员工,网络业务覆盖300多个城市,在中国100多个城市拥有分公司和办公室。2010年9月搜房网(股票代码SFUN)在美国纽约证券交易所成功上市。";

    self.str=strOne;

    

     self.labelOne=[[UILabel alloc]init];

    self.labelOne.numberOfLines=0;

    self.labelOne.font=[UIFont systemFontOfSize:14];

    self.labelOne.textAlignment=NSTextAlignmentCenter;

    self.labelOne.text=strOne;

    

    

    self.labelTwo=[[UILabel alloc]init];

    self.labelTwo.numberOfLines=0;

    self.labelTwo.font=[UIFont systemFontOfSize:20];

    self.labelTwo.textAlignment=NSTextAlignmentCenter;

    self.labelTwo.text=strOne;

    

    [self.view addSubview:self.labelOne];

    [self.view addSubview:self.labelTwo];

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

-(void)viewWillAppear:(BOOL)animated{

    

    CGRect labelOneFrame=[self.str boundingRectWithSize:CGSizeMake(200, 0) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14]} context:nil];[super viewWillAppear:animated];

    CGPoint PointOne=CGPointMake(100, 50);

    

    CGRect labelframe;

    labelframe.origin=PointOne;

    labelframe.size=labelOneFrame.size;

    

    self.labelOne.frame=labelframe;

    

    CGRect labelTwoFrame=[self.str boundingRectWithSize:CGSizeMake(200, 0) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:20]} context:nil];

    

    CGPoint PointTwo=CGPointMake(self.labelOne.frame.origin.x, CGRectGetMaxY(self.labelOne.frame));

 

    labelframe.origin=PointTwo;

    labelframe.size=labelTwoFrame.size;

    

    self.labelTwo.frame=labelframe;

}

 

 

@end

 其实用自动布局就不用这么麻烦了

IOS中Label根据上个label的内容设置下个label的frame

标签:

原文地址:http://www.cnblogs.com/Jordandan/p/4819213.html

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