ios - 将多个大小的文本垂直居中而不是基线与 iOS 中的 Core Text 对齐

标签 ios core-text text-alignment

是否可以通过(每种尺寸的)边界中心而不是基线来对齐多种尺寸的文本?

我尝试了 CTRunDelegate 功能,但它不起作用。使用 CTRunDelegateCallbacks.getAscentCTRunDelegateCallbacks.getDescent 是可能的,但该功能不起作用。只有 CTRunDelegateCallbacks.getWidth 有效。我成功地布置了多种尺寸的文本、图像和任何对象,但仅支持基线对齐。

最佳答案

实际上,调用了运行委托(delegate)方法 getAscent 和 getDescent(它在我自己的代码中工作)。当然,这不会改 rebase 线(并因此改变文本相对于行上其他文本的显示方式)是有道理的,因为上升和下降是相对于基线的。

也许有一个 getBaselineOffset 会很方便,但不幸的是,它不存在。

我的建议是使用运行委托(delegate)回调为不同基线的文本保留空间,然后在第二遍中使用不同的基线绘制其他文本。

关于ios - 将多个大小的文本垂直居中而不是基线与 iOS 中的 Core Text 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3904073/

相关文章:

ios - 如何为 UIImageView 释放内存(Swift)

iphone - 来自文本的 CGPathRef

css 在带有/背景图像的 block 元素中挤压文本

ios - 在我的 uiwebview 开始加载时添加自定义背景图像(使用 Swift)

ios - 如何在 GLKViewController iPhone OpenGLES 中设置背景图像?

objective-c - 通过用户交互使用 nib 加载 UIView

ios - 如何让文字环绕图像

iphone - 来自字符串的 CGPathRef

wpf - 使用 Horizo​​ntalContentAlignment 属性将文本与 ContentControl 对齐

c++ - 为 QTableWidget 中的单元格设置默认对齐方式