【问题标题】:How to decrease spacing between line of UILabel ( Swift )?如何减少 UILabel ( Swift ) 行之间的间距?
【发布时间】:2021-01-06 10:03:15
【问题描述】:

现在,我尝试减小多行标签之间的间距。 以我的方式,我创建了这样的函数..

func setLineHeight(lineHeight: CGFloat) {
    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.lineSpacing = 1.0
    paragraphStyle.lineHeightMultiple = lineHeight
    paragraphStyle.alignment = self.textAlignment

    let attrString = NSMutableAttributedString()
    if (self.attributedText != nil) {
        attrString.append( self.attributedText!)
    } else {
        attrString.append( NSMutableAttributedString(string: self.text!))
        attrString.addAttribute(NSAttributedString.Key.font, value: self.font, range: NSMakeRange(0, attrString.length))
    }
    attrString.addAttribute(NSAttributedString.Key.paragraphStyle, value:paragraphStyle, range:NSMakeRange(0, attrString.length))
    self.attributedText = attrString
}

并由myLabel.setLineHeight(0.7)使用它

对于问题,它可以减少行高!但是...它在标签底部仍然是一个额外的空间。

我将文本与父视图垂直居中对齐,但在我 setLineHeight 之后它不会再居中。 有人见过这个问题吗?

对于标签 v 的约束

【问题讨论】:

    标签: ios swift uilabel nsattributedstring line-spacing


    【解决方案1】:

    您也可以从情节提要中设置行距并保持对齐方式如下图所示

    【讨论】:

    • 谢谢你的回答,但我没有在容器krub中锁定除了左、右和垂直之外的任何约束。