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 }

 

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

posted @ 2016-08-19 03:14  阿水zev  阅读(413)  评论(0编辑  收藏  举报