我在我的一个应用程序中使用 Changa 字体。我使用的字体的问题是顶部和底部有额外的空白。
我只是将文本和字体设置为 UILabel,如下所示。
myLabel.font = UIFont(name: "Changa-Regular", size: 14)!
myLabel.text = "Lorem ipsum"
如果您看到下面的屏幕截图(第二个黄色标签),您会注意到两种字体之间的间距非常大。
另外,为了测试,我为第一个标签提供背景颜色(第一个黄色)。如果您看到字体顶部和底部也有空白。
知道如何删除或减少字体中默认的白色间距吗?
我找到了一个有助于解决问题的扩展。
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
}