如何使用不同的字体在NSAttributedString中垂直居中一行?

时间:2015-05-22 20:26:13

标签: ios objective-c nsattributedstring core-text nsparagraphstyle

我有NSAttributedString这是一张"表"使用NSTextTab停止,其中第一列是 KEY ,第二列是值

像这样:

|  **KEY 1**|value1|
|**KEY TWO**|value2|

KEYS的字体大小/重量不同+全部大写。 行对齐,以便所有字母的底部匹配。我想垂直微调这些值,使它们看起来与KEYS垂直居中。

有没有办法做到这一点?这似乎非常专业,但从设计的角度来看,我认为它看起来会更好

1 个答案:

答案 0 :(得分:10)

我没有尝试过,但似乎你应该可以使用NSBaselineOffsetAttributeName。以下是文档对此的说法:

  

此属性的值是包含a的NSNumber对象   浮点值表示字符的偏移量   基线,以分为单位。默认值为0.

所以你可能需要计算移动值所需的点数 - 我想这是键和值之间字体大小差异的一半。然后将NSBaselineOffsetAttributeName与该数量的点应用于值的文本。