【发布时间】:2014-02-20 08:43:39
【问题描述】:
我想在一个文本块中为所有 ® 字符的实例上标(法律免责声明,自然 ;)),默认方式 NSAttributedString 不是很好。
如果我只是让字符存在并且只使用未修改的NSString,它会呈现为与大写字母相同的大小,并且大约位于基线处。如果我将上标属性添加到NSAttributedString 如下:
[attrStr setAttributes:@{(NSString *)kCTSuperscriptAttributeName : @1} range:NSMakeRange(locationOfReg, 1)];
字符被抬离基线,它的大小没有改变,但是现在行间距会受到影响,因为抬高的字符会侵入上面的行。
举例说明:
我在 Photoshop 中创建了这个图像,通过减小字符的大小和移动基线来实现所需的位置。我知道如何在 iOS 中更改字体大小,但更改基线似乎更棘手。关于如何实现这一点的任何建议?
编辑:我想我可以使用上标属性作为向上移动基线的一种方式。现在最好想办法获取当前字体大小并随后减小它以允许在不同大小的文本块上使用相同的方法。
【问题讨论】:
标签: ios nsattributedstring core-text