如何为文本添加前导间距?
How do you add leading spacing to text?
我有一些要求,应用程序中的文本必须符合公司品牌规定。
特别是文本必须添加跟踪和前导值。
iOS 中不存在跟踪,但我在网上找到了一些将字体跟踪值转换为字体间距值的东西。
但是我找不到任何关于添加前导文本的信息。这是要求的引述:
".. 对于更大的尺寸(18pt 以上),我们还将字体点大小的 +2 值插入到前导"。还有 table 应用程序中使用的字体大小和用于前导的关联值(30、26、20、18、12)。
如何将这些前导值应用于文本?我试过搜索这个,但根本找不到。
我看到 here 上面写着
"NSStringDrawingUsesFontLeading - font leading basically means line
spacing. This flag indicates the call to make use of default line
spacing specified by the font."
它说行距和间距相同,但这让我感到困惑 - 暗示更改行距的唯一方法是设置间距,但这与间距相同但行距相同的要求相冲突根据字体点大小而变化。
我建议您创建一个 NSAttributedString
子class 或类别,其中添加了 NSString
属性 和字体大小 属性 (或者 enum
如果你想命名各种字体,例如 HeaderFont,......然后定义大小和可能的其他属性)。
在那个 NSString
属性 的 'set' 方法中,然后放置代码来设置各种属性。
通过这种方式,您可以隐藏所有这些讨厌的细节,将它们集中在一个中心位置,并最终得到一个非常简单的 class。
可能看起来像:
UILabel* someLabel;
someLabel.attributedText = [[MyAttributedString alloc] initWithText:"Hello" font:HeaderFont];
祝你好运!
我有一些要求,应用程序中的文本必须符合公司品牌规定。 特别是文本必须添加跟踪和前导值。 iOS 中不存在跟踪,但我在网上找到了一些将字体跟踪值转换为字体间距值的东西。
但是我找不到任何关于添加前导文本的信息。这是要求的引述:
".. 对于更大的尺寸(18pt 以上),我们还将字体点大小的 +2 值插入到前导"。还有 table 应用程序中使用的字体大小和用于前导的关联值(30、26、20、18、12)。
如何将这些前导值应用于文本?我试过搜索这个,但根本找不到。
我看到 here 上面写着
"NSStringDrawingUsesFontLeading - font leading basically means line spacing. This flag indicates the call to make use of default line spacing specified by the font."
它说行距和间距相同,但这让我感到困惑 - 暗示更改行距的唯一方法是设置间距,但这与间距相同但行距相同的要求相冲突根据字体点大小而变化。
我建议您创建一个 NSAttributedString
子class 或类别,其中添加了 NSString
属性 和字体大小 属性 (或者 enum
如果你想命名各种字体,例如 HeaderFont,......然后定义大小和可能的其他属性)。
在那个 NSString
属性 的 'set' 方法中,然后放置代码来设置各种属性。
通过这种方式,您可以隐藏所有这些讨厌的细节,将它们集中在一个中心位置,并最终得到一个非常简单的 class。
可能看起来像:
UILabel* someLabel;
someLabel.attributedText = [[MyAttributedString alloc] initWithText:"Hello" font:HeaderFont];
祝你好运!