0

我正在尝试显示一些从几个词到一百个词不等的描述文本。我已将我的 UILabel 设置为换行以使用下面的代码进行补偿

    descText.frame = CGRect(x: 115, y: 160, width: 465, height: 21)     
    descText.textAlignment = NSTextAlignment.Left
    descText.numberOfLines = 0
    descText.lineBreakMode = NSLineBreakMode.ByWordWrapping
    descText.sizeToFit()
    descText.Text = text
    dtlView.addSubview(descText)

如果我删除 descText.sizeToFit() 文本会重新出现但不会换行,如果我尝试将 CGRect 中的高度设置为 CGFloat.max,也会发生同样的情况。

我错过了什么?

4

2 回答 2

1

使用ByCharWrapping而不是使用ByWordWrapping

还要确保sizeToFit()仅在分配文本后才调用。

descText.lineBreakMode = NSLineBreakMode.ByCharWrapping
descText.Text = text
descText.sizeToFit()
于 2015-06-15T11:00:34.777 回答
0

分配文本后更改 sizeToFit() 的位置完成了上面 Bartlomiej 建议的工作

于 2015-06-15T11:33:46.253 回答