UILabel autolayout自动换行 版本区别

今天解决了一个与UILabel相关的Bug。

表现为在iOS7以上的系统中,UILabel能够自动换行,多行显示的字符串,而在iOS6上面则不会自动换行,直接打省略号。

正常情况下,numberOfLines设置为0,UILabel就会自动换行了。

但是在iOS6下面需要设置preferredMaxLayoutWidth,autolayout才会判断到折行的位置,才能正确的显示多行的UILabel

但是preferredMaxLayoutWidth设置为多少才是正确的呢?

如果你知道一个确切的width当然是最好的,那么直接设置即可,

但是如果UILabel的宽度是自适应的,不确定,那么可以使用如下的代码设置

- (void)layoutSubViews
{
    [super layoutSubViews];
    self.label.preferredMaxLayoutWidth = self.label.bounds.size.width;
}

当label已经显示到界面上的时候,那么宽度就已经确定了,可以直接用此宽度作为最大autolayout宽度设置。这样就正常了

时间: 2024-10-13 14:43:10

UILabel autolayout自动换行 版本区别的相关文章

OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

http://blog.163.com/[email protected]/blog/static/1820473820123206189381/ OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别] 2012-04-20 18:18:09|  分类: java参考资料|举报|字号 订阅 下载LOFTER我的照片书  | 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解决的?最常使用的ojdbc14

Debug与Release版本区别

Debug与Release版本区别 Debug版本就是调试版本,Visual C++ 6.0默认的就是Debug版本.在Debug版本中,可以使用单步执行.跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢.Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能.     还有一点,Release版本的exe文件链接的目标是标准的MFC DLL(Use MFC in a shared or static dll).比如MFC42.DLL.这些DLL在

IOS下 UILabel 如何自动换行

转自:http://zasoft.blog.163.com/blog/static/205215176201301414915700/ 背景: 相信很多朋友都遇到过,文本的内容长度不一,需要根据内容的多少来自动换行处理. 场景: 很多APP中评论,有的评论长,有的评论短,有的一行,有的多行. ? 下面以评论的实现为例来说说具体如何实现. ? 技术点: UILabel的自动换行,自动换行的同时要自适应Frame大小. UITableView的行高自适应内容,实时调整高度. 实现方法: UILabe

java版本区别

java版本区别 点我,点我,Eclipse几个版本号的区别(part1) 点我,点我,Eclipse几个版本号的区别(part2) 点我,点我,Eclipse几个版本号的区别(part3)

nginx的Mainline version、Stable version、Legacy version的版本区别

nginx的Mainline version.Stable version.Legacy version的版本区别 创建时间:2014-01-16 10:30:37最后修改:2014-09-23 20:13:44 Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版本Legacy versions:遗留的老版本的稳定版 nginx下载地址:http:

Mysql 各个版本区别及官网下载

Mysql各个版本区别及官网下载 一.Mysql 各个版本区别: 1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持. 2.MySQL Enterprise Edition 企业版本,需付费,可以试用30天. 3.MySQL Cluster 集群版,开源免费.可将几个MySQL Server封装成一个Server. 4.MySQL Cluster CGE 高级集群版,需付费. 5.MySQL Workbench(GUI TOOL)一款专为MySQL设计的E

Neutron Kilo-Liberty-Mitaka各版本区别

作者: 赵怡 一.Neutron Kilo版和Liberty版本主要区别: 新增的特性: 1. neutron支持IPv6前缀委托授权为IPv6子网分配CIDR 2. neutron支持QoS API, 初期只支持端口带宽限制 3.路由器HA (L3 HA/VRRP)在L2 population(l2_pop)设置为enable时, 可以正常工作了. 4. VPNaaS参考驱动现在可以和HA router一起正常工作了 5. HA路由器上使用的VRRP网络, 可以配置为特定的segmentati

XIB下UILabel的自动换行

样式: XIB的设置: text为plain不影响;attributed适用于IOS7:lines=0代表多行:Word Wrap代表自动换行: (非动态换行!!!!!!) XIB下UILabel的自动换行

Python2.x与3??.x版本区别

Python2.x与3??.x版本区别 Python的3??.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容. 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行. 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法