由于字体的原因,行间距更大

问题描述 投票:0回答:1

我在我的一个应用程序中使用 Changa 字体。我使用的字体的问题是顶部和底部有额外的空白。

我只是将文本和字体设置为 UILabel,如下所示。

myLabel.font = UIFont(name: "Changa-Regular", size: 14)!
myLabel.text = "Lorem ipsum"

如果您看到下面的屏幕截图(第二个黄色标签),您会注意到两种字体之间的间距非常大。

另外,为了测试,我为第一个标签提供背景颜色(第一个黄色)。如果您看到字体顶部和底部也有空白。

知道如何删除或减少字体中默认的白色间距吗?

enter image description here

swift uilabel removing-whitespace
1个回答
0
投票

我找到了一个有助于解决问题的扩展。

public func zeroLineSpace(){
    let s = NSMutableAttributedString(string: self.text!)
    let style = NSMutableParagraphStyle()
    let lineHeight = self.font.pointSize - self.font.ascender + self.font.capHeight + 10
    let offset = self.font.capHeight - self.font.ascender + 5
    let range = NSMakeRange(0, self.text!.count)
    style.maximumLineHeight = lineHeight
    style.minimumLineHeight = lineHeight
    style.alignment = self.textAlignment
    s.addAttribute(.paragraphStyle, value: style, range: range)
    s.addAttribute(.baselineOffset, value: offset, range: range)
    self.attributedText = s
    self.lineBreakMode = .byTruncatingTail
}
© www.soinside.com 2019 - 2024. All rights reserved.