【问题标题】:Aligning multiple sized text vertical center instead of baseline with Core Text in iOS在iOS中将多个大小的文本垂直中心而不是基线与Core Text对齐
【发布时间】:2011-06-29 08:08:04
【问题描述】:
是否可以通过(每个大小的)边界中心而不是基线来对齐多个大小的文本?
我尝试了 CTRunDelegate 功能,但它不起作用。 CTRunDelegateCallbacks.getAscent 和 CTRunDelegateCallbacks.getDescent 是可能的,但该功能不起作用。只有CTRunDelegateCallbacks.getWidth 有效。我成功地布置了多种大小的文本、图像和任何对象,但仅支持基线对齐。
【问题讨论】:
标签:
ios
core-text
text-alignment
【解决方案1】:
实际上调用了运行委托方法 getAscent 和 getDescent(它在我自己的代码中工作)。当然,这不会改变基线(从而改变文本相对于行上其他文本的显示方式)是有道理的,因为上升和下降是相对于基线的。
可能有一个 getBaselineOffset 会很方便,但不幸的是,它不存在。
我的建议是使用运行委托回调为不同基线的文本保留空间,然后在第二遍中,使用不同的基线绘制其他文本。
【解决方案2】:
现在还是不可能的。我认为这对于当前版本的 Core Text 是不可能的。