前言
在 Masonry 中使用 UILabel 设置 attributedText 作为内容后无法换行。
尝试了几个方案,比如:设置 lineBrakeMode,numberOfLines,但怎么都无法换行。
解决方案
为您的 UILabel 配置 preferredMaxLayoutWidth,设置最大宽度,即可成功换行!
_titleLabel = [UILabel new];
_titleLabel.numberOfLines = 2;
_titleLabel.preferredMaxLayoutWidth = (kFixedScreenWidth - 16 * 2 - 8 ) / 2-16; //设置最大宽度
以上的代码加上基础配置,即可实现 UILabel 最多两行,且可自动换行与末尾截断。
推测是 UILabel 没有针对富文本的自动折行机制。
敬请指正。