我有一个UILabel应该在多行上显示文本,以防太长而不能停留在一行上。这是我在界面构建器中设置其参数的方式:



但是即使这样做,文本仍然会被截断:



这是我在运行时设置文本的方式:

    let text = "left button pressed 5 seconds ago, you may want to press another button now"
    let attributedText = NSMutableAttributedString(string: text)
    attributedText.addAttribute(NSFontAttributeName, value: UIFont.boldSystemFontOfSize(statusLabel.font.pointSize), range: (text as NSString).rangeOfString("left"))

    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.lineBreakMode = .ByWordWrapping
    attributedText.addAttribute(NSParagraphStyleAttributeName, value: paragraphStyle, range: NSMakeRange(0, attributedText.length))
    statusLabel.attributedText = attributedText


就像您看到的那样,我什至尝试添加一个段落样式属性来强制文本停留在多行上,但这是行不通的。

最佳答案

检查您是否设置了自动布局约束,以便您定义了顶部,前部和尾部空间,但不要连接垂直高度,标签会根据内容进行自我调整。

编辑:

关于ios - 无法使UILabel的文本停留在多行上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28914770/

10-09 22:54