zoukankan      html  css  js  c++  java
  • IOS中Label根据上个label的内容设置下个label的frame

    #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

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

  • 相关阅读:
    POJ 2135 Farm Tour(最小费用最大流,变形)
    HDU 1503 Advanced Fruits (LCS,变形)
    HDU Senior's Gun (水题)
    POJ 3648 Wedding (2-SAT,经典)
    HDU 3549 Flow Problem 流问题(最大流,入门)
    解决在eclipse中导入项目名称已存在的有关问题
    如何将js导入时的小红叉去掉
    servlet传值到servlet传值问题
    转发重定向的用法
    parameter与attribute的使用场合(转载自草原和大树)
  • 原文地址:https://www.cnblogs.com/Jordandan/p/4819213.html
Copyright © 2011-2022 走看看