当我将XCode更新为9.1时,UILabel的所有自动换行都失败了。和我一样的身体?我已设置如下属性:
cell.testLabel.text = "long text here"
cell.testLabel.lineBreakMode = .byWordWrapping
cell.testLabel.numberOfLines = 0
任何人都可以帮助我吗?感谢!!!
答案 0 :(得分:1)
自iOS11以来,单词在UILabel
中的包装方式似乎有意改变。调整了自动换行机制,使您的多行文字以增强的比例包裹。如果你有一个由连续短字组成的长文本,你的文本可能会被包裹,避免孤立的单词,即多个单词即将被包裹到下一行。如果完成单词足够长,则可能不需要包含额外的单词,因为比例可能看似合理。
示例强>:
1
即使在第一行有一个'测试'的空间,这两个词都被包裹了。
2
只包含最长的单词,因为第二行已经占用了足够的空间。
截至目前,不幸的是,您不太可能影响它,因为没有引入其他属性来管理此行为。
解决方法强>
在某些情况下可以提供帮助。您可以用不间断的空格(U + 00A0)替换空格。这样,两个连续的单词被视为可以欺骗包装机制的单词。