根据显示的字符多少来做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的自适应高度的更多相关文章

  1. Masonry创建Label,不设置高度Label不显示问题

    [self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(weanSelf).off ...

  2. CMD窗口正确显示UTF-8字符

     Go语言教程 http://yiibai.com/go/  CMD窗口正确显示UTF-8字符 http://www.360doc.com/content/13/0424/13/2569758_280 ...

  3. emWin显示文本字符-【worldsing笔记】

    在emWin显示文本字符还是容易的,提供了各种不同的接口,下面是有关于字符显示的常用的用法,可以直接复制到VS2008的模拟ucGui(emWin模拟工程)中运行: 工程代码下载:1.emWin5.2 ...

  4. windows下cmd命令行显示UTF8字符设置(CHCP命令)

    本文由 www.169it.com 收集整理 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下 ...

  5. PHP页面显示中文字符出现乱码

    [出现问题] php页面显示中文字符出现乱码 [解决方法] 在php页面的代码前插入一行代码即可 header("Content-Type: text/html;charset=utf-8& ...

  6. 如何在DOS窗口中显示UTF-8字符

    在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容.在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即 ...

  7. VS2013 Qt5显示中文字符

    VS2013上建立的Qt5project中显示中文字符的两种方式: 1. QStringLiteral("開始") 2. QString::fromLocal8Bit(" ...

  8. WPF——TargetNullValue(如何在绑定空值显示默认字符)

    原文:WPF--TargetNullValue(如何在绑定空值显示默认字符) 说明:在数据绑定时,如果有些字段为空值,那么在数据绑定时可以用默认值来显示为空的字段. </Grid> { L ...

  9. 在开发板上显示英文字符和汉字--tiny6410

    程序字符需要改成gb2312.否则无法正常显示中文字符. main.c代码: #include <sys/types.h> #include <sys/stat.h> #inc ...

随机推荐

  1. visualSVN Server 设置外网可连接

    首先再根节点右键,打开属性菜单. 打开Network选项卡,在Server name一栏中填入主机域名或者是ip. 然后在创建的项目中单机或者右键,就可以得到访问地址了.

  2. gerrit: Error in POST /accounts/self/preferences

    转载:https://code.google.com/p/gerrit/issues/detail?id=3157 1. Migrated from 2.8.6.1 to 2.10 2. In UI ...

  3. Java中的枚举

    枚举通过enum关键字进行定义.实际上当定义一个枚举类型的时候,该类型默认继承了Enum类. 枚举的定义格式如下: enum Color { RED,BLUE,GREEN; } 下面演示一个枚举变量的 ...

  4. 24. Longest Consecutive Sequence

    Longest Consecutive Sequence Given an unsorted array of integers, find the length of the longest con ...

  5. debian8(jessie)安装小记

    其实上周五就想写这篇博客了,一直忙着没时间,虽然也不知道自己这一个星期到底在忙什么.这次我是彻底告别windows了,安装的过程略为艰辛,因为之前习惯了deepin和ubuntu的傻瓜式安装,而deb ...

  6. Consuming a Web Service in AX 2012

    Consuming a Web Service in AX 2012 在AX2012版本中如果想调用外部的Web Service变得非常容易. 第一步,在VS中创建一个Web Service并发布 第 ...

  7. operator 的两种用法

    C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换).1.操作符 ...

  8. DDNS -VPN设置方法

    背景分析:一般情况下企业网络都是专线,也就是静态公网IP,但是也有一些是刚起步的小公司和一些网络需求不是很高的企业. 当前,由于公司是刚起步的小公司,网络是PPPOE拨号,但是又是总部和分部分开的,另 ...

  9. 8.adr与ldr伪指令的区别

    ldr和adr都是伪指令,区别是ldr是长加载.adr是短加载. 重点:adr指令加载符号地址,加载的是运行时地址: ldr指令加载符号地址时,加载的是链接地址.

  10. 如何防止ElasticSearch集群出现脑裂现象(转)

    原文:http://xingxiudong.com/2015/01/05/resolve-elasticsearch-split-brain/ 什么是“脑裂”现象? 由于某些节点的失效,部分节点的网络 ...