8

の文字のy位置を少し変更したいのですがNSAttributedString。属性ディクショナリを使用して下付き文字(または上付き文字)を付けることができることはわかっています。

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

残念ながら、私の場合、これによって引き起こされるシフトは大きすぎます。ベースラインを1ポイントで調整するオプションを探しています。

属性付き文字列は、UIButtonusingで表示されます-setAttributedTitle:forState:

4

2 に答える 2

16

iOS 7以降、NSBaselineOffsetAttributeName属性が追加されました。

于 2014-06-24T00:00:20.040 に答える
1

はい、できます...ただし、DTCoreTextオープンソースプロジェクトで行っているように、自分でテキストを描画する場合に限ります。

ここでDTCoreTextLayoutFrame.mの行924ffを参照してください:https ://github.com/Cocoanetics/DTCoreText/blob/master/Core/Source/DTCoreTextLayoutFrame.m

残念ながら、それが私が知っている唯一の方法です。UIKitにはこのオプションはありません。

于 2013-01-11T15:41:30.077 に答える