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