UILabel 的一个蛋疼问题

一、问题描述

在iOS8以下版本,numberOfLines设置为0,编译警告Automatic Preferred Max Layout Width before iOS8.0,同时不能换行。

二、问题分析

iOS8以下版本,要 UILabel 行数大于0,单numberOfLines设置为0是不行的,还需要指定 preferredMaxLayoutWidth,告诉UILabel折行的位置。这个问题到 iOS8 就不存在了,不需要设置preferredMaxLayoutWidth

三、问题解决

如果用到AutoLayout,UILabel宽度是自适应的,不确定,使用如下的代码设置:

1 - (void)layoutSubViews
2 {
3     [super layoutSubviews];
4     self.label.preferredMaxLayoutWidth = self.label.bounds.size.width;
5 }

如果是固定宽度的,直接设置就可以了

学习,以记之。如有错漏,欢迎指正

作者:冯子武
出处:http://www.cnblogs.com/Zev_Fung/
本文版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果博文对您有所收获,请点击下方的 [推荐],谢谢

原文地址:https://www.cnblogs.com/Zev_Fung/p/5782272.html