如何在文本中添加前导间距?

时间:2016-11-30 19:58:05

标签: ios fonts nsattributedstring uifont

我有一些要求,即应用内的文字必须符合公司品牌规定。 特别是文本必须添加跟踪和前导值。 iOS中不存在跟踪,但我发现了一些可以将字体跟踪值转换为字体间距值的内容。

但是我找不到任何关于添加前导文本的内容。以下是要求的引用:

“..对于更大的尺寸(18pt以上),我们还将类型点大小的+2值插入前导”。此外,还有一个应用程序中使用的字体大小表以及用于领先的相关值(30,26,20,18,12)。

如何将这些主要值应用于文本?我已经尝试过搜索这个,但根本找不到。

我看到here

  

“NSStringDrawingUsesFontLeading - 字体引导基本上意味着行   间距。此标志表示使用默认行的调用   由字体指定的间距。“

它说前导和间距是相同的,但这让我感到困惑 - 暗示改变前导的唯一方法是设置间距,但这与间距相同但前导变化的要求相冲突关于字体磅值。

1 个答案:

答案 0 :(得分:0)

我建议你创建一个NSAttributedString子类或类别,它具有添加的NSString属性和字体大小属性(或enum如果你想命名的话各种字体,例如HeaderFont,......然后定义大小和可能的其他属性。)

在'设置'然后,将NSString属性的方法放入代码以设置各种属性。

这样你就可以隐藏所有这些讨厌的细节,将它们放在一个中心位置,最后得到一个非常简单的类。

看起来像:

UILabel* someLabel;

someLabel.attributedText = [[MyAttributedString alloc] initWithText:"Hello" font:HeaderFont];
祝你好运!