当试图动态创建UILabel换行时,文本消失

时间:2015-06-15 10:56:32

标签: xcode swift word-wrap cgrect sizetofit

我正在尝试显示一些描述文字,从几个单词到一百个单词不等。我已经将我的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,则会发生同样的情况。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

使用ByCharWrapping代替ByWordWrapping

另外,请务必在分配文字后致电sizeToFit()

descText.lineBreakMode = NSLineBreakMode.ByCharWrapping
descText.Text = text
descText.sizeToFit()

答案 1 :(得分:0)

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