是否可以在NSAttributedString中调整基线?

时间:2013-01-11 15:34:05

标签: ios cocoa-touch ios6 core-text nsattributedstring

我想略微修改NSAttributedString中字符的y位置。我知道我可以使用属性字典subscript(或上标):

@{(id)kCTSuperscriptAttributeName: @(-1)}

不幸的是,由此引起的转变对我来说太大了。我正在寻找一个以1点为单位调整基线的选项。

归因字符串将使用UIButton {/ 1}}显示在-setAttributedTitle:forState:中。

2 个答案:

答案 0 :(得分:14)

自iOS 7起,添加了NSBaselineOffsetAttributeName属性。

答案 1 :(得分:1)

是的,你可以......但只有你自己画出文字,就像我在DTCoreText开源项目中这样做。

请参阅DTCoreTextLayoutFrame.m中的第924ff行:https://github.com/Cocoanetics/DTCoreText/blob/master/Core/Source/DTCoreTextLayoutFrame.m

不幸的是,这是我所知道的唯一方式。 UIKit没有给你这个选项。