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 的使用效率,进而提供 ...
随机推荐
- Eclipse desktop
Ubuntu解压Eclipse IDE后并不会在侧边栏显示启动图标,为了能在侧边栏显示,方便启动,可以新建一个desktop文件,具体步骤如下: # switch to root account su ...
- jquery 实现 点击一个按钮添加多个div
<script type="text/javascript"> var blockNum=10; $(document).ready(function(){ var p ...
- Udemy - Angular 2 - The Complete Guide 笔记
1. install > npm install -g angular-cli 2. create app > ng new first-app 3. build app > cd ...
- Struts入门学习(一)
刚开始学习框架的时候感觉很简单,都是用到javaEE的相关框架,自己就想研究源码,但是学了很久之后毫无头绪,所以还是扎扎实实学好Struts毕竟框架做起来要比自己写javaEE要简单,下面我们就来一步 ...
- dbvisualizer参数设置
6.13 可否完全禁用数据编辑? 可以. 方法: 在文本编辑器里打开文件 DBVIS-HOME/resources/dbvis-custom.prefs. 找出 dbvis.disabledataed ...
- PHP7新功能及语法变化总结
1.标量类型声明有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔 ...
- php观察者模式
观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种.在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知.这通常透过呼叫各观察者所提供的方法来实现.此 ...
- iOS动画编程
IOS中的动画总结来说有五种:UIView<block>,CAAnimation<CABasicAnimation,CATransition,CAKeyframeAnimation& ...
- HTML URL编码参考(转载)
URL编码(URL encoding)的作用是将字符转化为可在因特网上安全传输的格式.URL——统一资源定位符Web浏览器通过URL从Web服务器上请求页面.URL就是网页的地址,如:http://w ...
- ubuntu14.04 安装 tensorflow
如果内容侵权的话,联系我,我会立马删了的-因为参考的太多了,如果一一联系再等回复,战线太长了--蟹蟹给我贡献技术源泉的作者们- 最近准备从理论和实验两个方面学习深度学习,所以,前面装好了Theano环 ...