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
其实用自动布局就不用这么麻烦了
IOS中Label根据上个label的内容设置下个label的frame的更多相关文章
- iOS中使用Localizable.strings适配App在不同语言下文本的显示
iOS开发中,若是使用xib或storyboard搭建界面视图,视图中固定显示的文本内容可以用localized添加不同语言适配.但是在实际中会有动态加载的文本,这些文字的适配就需要NSLocaliz ...
- iOS中tableView组头部或尾部标题的设置
解决在tableView返回组标题直接返回字符串,带来的不便设置组标题样式的问题解决办法,设置尾部标题和此类似 // 返回组头部view的高度 - (CGFloat)tableView:(UITab ...
- iOS中model出来一个控制器的尺寸怎么设置?
在xib的控制器里添加self.preferredContentSize = CGSizeMake( , ) 就能修改xib在界面上显示的大小- (void)viewDidLoad { [super ...
- Myeclipse中文件已经上传到server文件夹下,文件也没有被占用,可是页面中无法读取和使用问题的解决方法
这个问题是因为Myeclipse中文件不同步引起的.在Myeclipse中,project文件是由Myeclipse自己主动扫描加入的,假设在外部改动了project文件夹中的文件但又关闭了自己主动刷 ...
- iOS中默认样式修改-b
项目中有大量的UITableView都需要显示sectionHeader.iOS中默认sessionHeader上的textLabel样式跟设计图不符. 按照我们之前的解决方案,是在每个UITable ...
- IOS中Llabel整理
·UILable是iPhone界面最基本的控件,主要用来显示文本信息.·常用属性和方法有:1.创建CGRect rect = CGRectMake(100, 200, 50, 50);UILabel ...
- iOS中求出label中文字的行数和每一行的内容
今天遇到一个需求,需要计算label中文字的行数.想了好久也没想到好的解决方法,就在网上找了下.结果发现一篇文章是讲这个的.这部分代码不但能够求出一个label中文字行数,更厉害的是能够求出每一行的内 ...
- iOS开发中文件的上传和下载功能的基本实现-备用
感谢大神分享 这篇文章主要介绍了iOS开发中文件的上传和下载功能的基本实现,并且下载方面讲到了大文件的多线程断点下载,需要的朋友可以参考下 文件的上传 说明:文件上传使用的时POST请求,通常把要上传 ...
- OS X 和iOS 中的多线程技术(上)
OS X 和iOS 中的多线程技术(上) 本文梳理了OS X 和iOS 系统中提供的多线程技术.并且对这些技术的使用给出了一些实用的建议. 多线程的目的:通过并发执行提高 CPU 的使用效率,进而提供 ...
随机推荐
- 微信小程序官方demo学习
最近微信小程序很火,很喜欢那种轻应用,用完就走的理念.于是,下载好微信开发者工具,学习一下官方demo. 体验下来,有类似react和vue的感觉,dom类似react那种组件的,data-bindi ...
- 在js中拼接<a>标签,<a>标签中含有onclick事件,点击无法触发该事件
我们在<a>标签中添加事件一般是onclick="editUser()" 这样添加,在html页面上是行的通的 但是如何你是在js中拼接<a>标签并在< ...
- Javaweb 第15天 web练习和分页技术
第15天 web练习和分页技术 复习day14内容: 学习新技术的思路? 分析功能的思路? 使用queryRunner操作数据库的步骤? ResultSetHandler接口常用实现类(三个重点)? ...
- 关于requirejs中的define的原理理解
我们已经了解到模块模式是为单例创建私有变量和特权方法的. 一个最基本的例子: var foo=(function(){ var something='cool', var another=[1,2,3 ...
- tomcat bio nio apr 模式性能测试
转自:tomcat bio nio apr 模式性能测试与个人看法 11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态.那后来主管就要求调优了,下面是tomcat bio.nio.a ...
- JavaScript的DOM(文档对象)基础语法总结1
---恢复内容开始--- 前言:HTML文档可以说由节点构成的集合,DOM节点有: 1). 元素节点:上图中<html>.<body>.<p>等都是元素节点,即标签 ...
- nodejs querystring
Query String querystring.parse(str[, sep][, eq][, options]) querystring.stringify(obj[, sep][, eq][, ...
- mybatis 查询语句(按条件查询)
<select id="getAllDitch" parameterType="xxx.xx.entity.CheckDitch" resultType= ...
- servlet 用法
引入servlet的jar包,这个包在tomcat的lib下 新建一个servlet文件继承httpServlet,要实现里面的doGet或者doPost方法 在web.xml文件中配置 在form表 ...
- Mysql字符集修改为UTF8
修改/etc/my.cnf,这个文件是安装的时候拷贝过去的 修改方法: [client]下添加 default-character-set=utf8 [mysqld]下添加 character-set ...