根据显示的字符多少来做Label的自适应高度
根据显示的字符多少来做Label的自适应高度
UILabel *label = [[UILabel alloc]init];
NSString *string = @"其实,经年过往,每个人何尝不是在这场虚妄里跋涉?在真实的笑里哭着,在真实的哭里笑着,一笺烟雨,半帘幽梦,许多时候,我们不得不承认:生活,不是不寂寞,只是不想说。\n于无声处倾听凡尘落素,渐渐明白:人生,总会有许多无奈,希望、失望、憧憬、彷徨,苦过了,才知甜蜜;痛过了,才懂坚强;傻过了,才会成长。\n生命中,总有一些令人唏嘘的空白,有些人,让你牵挂,却不能相守;有些东西,让你羡慕,却不能拥有;有些错过,让你留恋,却终生遗憾。\n在这喧闹的凡尘,我们需要有适合自己的地方,用来安放灵魂。\n也许,是一座安静宅院;也许,是一本无字经书;也许,是一条迷津小路。只要是自己心之所往,便是驿站,为了将来起程时,不再那么迷惘。\n红尘三千丈,念在山水间。生活,不总是一帆风顺。因为爱,所以放手;因为放手,所以沉默;因为一份懂得,所以安心着一个回眸。\n也许,有风有雨的日子,才承载了生命的厚重;风轻云淡的日子,更适于静静领悟。";
// 计算字符若显示的宽度与label一样宽时,它需要的高度
CGRect r = [string boundingRectWithSize:CGSizeMake(,) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:.f]} context:nil];
label.frame = CGRectMake(, , , r.size.height);
label.text = string;
label.numberOfLines = ;
label.backgroundColor = [UIColor cyanColor];
[self.view addSubview:label];
将label的高度设置为字符计算出来所需要的高度即可
显示效果:(淡蓝色为label的背景色。)

根据显示的字符多少来做Label的自适应高度的更多相关文章
- Masonry创建Label,不设置高度Label不显示问题
[self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weanSelf).off ...
- CMD窗口正确显示UTF-8字符
Go语言教程 http://yiibai.com/go/ CMD窗口正确显示UTF-8字符 http://www.360doc.com/content/13/0424/13/2569758_280 ...
- emWin显示文本字符-【worldsing笔记】
在emWin显示文本字符还是容易的,提供了各种不同的接口,下面是有关于字符显示的常用的用法,可以直接复制到VS2008的模拟ucGui(emWin模拟工程)中运行: 工程代码下载:1.emWin5.2 ...
- windows下cmd命令行显示UTF8字符设置(CHCP命令)
本文由 www.169it.com 收集整理 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下 ...
- PHP页面显示中文字符出现乱码
[出现问题] php页面显示中文字符出现乱码 [解决方法] 在php页面的代码前插入一行代码即可 header("Content-Type: text/html;charset=utf-8& ...
- 如何在DOS窗口中显示UTF-8字符
在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即 ...
- VS2013 Qt5显示中文字符
VS2013上建立的Qt5project中显示中文字符的两种方式: 1. QStringLiteral("開始") 2. QString::fromLocal8Bit(" ...
- WPF——TargetNullValue(如何在绑定空值显示默认字符)
原文:WPF--TargetNullValue(如何在绑定空值显示默认字符) 说明:在数据绑定时,如果有些字段为空值,那么在数据绑定时可以用默认值来显示为空的字段. </Grid> { L ...
- 在开发板上显示英文字符和汉字--tiny6410
程序字符需要改成gb2312.否则无法正常显示中文字符. main.c代码: #include <sys/types.h> #include <sys/stat.h> #inc ...
随机推荐
- Redis部分数据结构方法小结
package com.practice.util; import java.util.HashMap; import java.util.List; import java.util.Map; im ...
- 一些实用的linux命令
一直在用linux,可linux下的命令还是用得不是很熟悉,记录一下比较有用命令: ``和$()是一样的,都是用指令的执行结果来替换. linux下 echo hello world => ...
- C++模板元编程 - 挖新坑的时候探索到了模板元编程的新玩法
C++真是一门自由的语言,虽然糖没有C#那么多,但是你想要怎么写,想要实现什么,想要用某种编程范式或者语言特性,它都会提供. 开大数运算类的新坑的时候(又是坑),无意中需要解决一个需求:大数类需要分别 ...
- java readLine()
原文 虽然写IO方面的程序不多,但BufferedReader/BufferedInputStream倒是用过好几次的,原因是: 它有一个很特别的方法:readLine(),使用起来特别方便,每次读回 ...
- 开放地址法实现HashTable
前注:本文不是讲解Java类库的Hashtable实现原理,而是根据计算机哈希表原理自己实现的一个Hashtable. HashTable内部是用数组存放一个(Key-Value pair)键值对的引 ...
- yield个人理解及简明示例
1.写法有2种:yield return <expression>和yield breakyield用于在迭代中返回一个值,并将值带入下一次迭代中.yield break则意味着停止迭代. ...
- 20. Candy && Gas Station
Candy There are N children standing in a line. Each child is assigned a rating value. You are giving ...
- BackTrack 5 开启SSHD服务
BackTrack 5 开启SSHD服务 1 service ssh start 但启动后,仍然无法从远程连接,会有提示: 1 Read from socket failed: Connection ...
- archlinux 传统方法编译内核linux kernel 3.3.7
From: http://hi.baidu.com/flashgive/item/eaef6326b5eb73d3a417b662 archlinux中传统方法编译内核 1)下载内核以及补丁并解压: ...
- 关于listview的一些属性
由于这两天在做listView的东西,所以整理出来一些我个人认为比较特别的属性,通过设置这样的属性可以做出更加美观的列表 首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你 ...