首页 > 解决方案 > 如何减少 UILabel ( Swift ) 行之间的间距?

问题描述

现在,我试图减少多行标签之间的间距。以我的方式,我创建这样的功能..

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 的约束 在此处输入图像描述

标签: iosswiftuilabelnsattributedstringline-spacing

解决方案


您也可以从情节提要中设置行距并保持对齐,如下面的 gif 所示

在此处输入图像描述


推荐阅读