我只想使用UILabel
attributedText
属性在NSAttributedString
中做首字下沉字符。像这样:
(来源:interpretationbydesign.com)
我已经尝试过将第一个字符的范围的基线调整为负值,并且它可以使第一个字符的顶部与其余第一行的顶部对齐。但是我还没有找到任何方法使其他行流到首字下沉字符的右侧。
可以使用NSAttributedString only
解决此问题,还是我必须拆分字符串并使用Core Text自己渲染?
最佳答案
CoreText无法执行首字下沉操作,因为它由由字形运行组成的行组成。首字下沉将覆盖不支持的多行。
要实现此效果,您将必须分别绘制笔帽,然后在其周围的路径中绘制其余文本。
长话短说:在UILabel中不可能,可能,但是CoreText可以做很多工作。
使用CoreText的步骤如下:
关于ios - 带有NSAttributedString的首字下沉,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14214900/