是否可以通过(每种尺寸的)边界中心而不是基线来对齐多种尺寸的文本?
我尝试了 CTRunDelegate 功能,但它不起作用。使用 CTRunDelegateCallbacks.getAscent
和 CTRunDelegateCallbacks.getDescent
是可能的,但该功能不起作用。只有 CTRunDelegateCallbacks.getWidth
有效。我成功地布置了多种尺寸的文本、图像和任何对象,但仅支持基线对齐。
最佳答案
实际上,调用了运行委托(delegate)方法 getAscent 和 getDescent(它在我自己的代码中工作)。当然,这不会改 rebase 线(并因此改变文本相对于行上其他文本的显示方式)是有道理的,因为上升和下降是相对于基线的。
也许有一个 getBaselineOffset 会很方便,但不幸的是,它不存在。
我的建议是使用运行委托(delegate)回调为不同基线的文本保留空间,然后在第二遍中使用不同的基线绘制其他文本。
关于ios - 将多个大小的文本垂直居中而不是基线与 iOS 中的 Core Text 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3904073/