【问题标题】:Can't get UILabel's text to stay on multiple lines无法让 UILabel 的文本保持多行
【发布时间】:2015-03-07 12:16:00
【问题描述】:

我有一个 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 swift uikit


    【解决方案1】:

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

    编辑:

    【讨论】:

    • 我的垂直高度限制等于 50。我删除了它,但仍然遇到同样的问题。
    • 好吧,是我忘记添加前导和尾随空格约束了,现在可以了。
    猜你喜欢
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多