CoreText:iOS 9之后的文本呈现方式不同

前端之家收集整理的这篇文章主要介绍了CoreText:iOS 9之后的文本呈现方式不同前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在更新2011年编写的iOS 11应用程序.该应用程序是一本交互式书籍,使用CoreText.当应用程序针对iOS 9构建时,文本将按预期呈现,但是当针对iOS 10或更高版本构建时,文本呈现不正确(请参见图像).问题似乎是由于空白和/或行间距处理的变化.我已经尝试更改各种CTParagraphStyleSpecifier的值,但没有一个具有所需的结果.编辑文本不是一个可行的选项,因此修复必须与修复CoreText相关.我的问题:

>是否可以在iOS 9之后配置CoreText以将类似版本渲染到iOS 9?
>如果无法修复CoreText,如果针对iOS 9构建应用程序,是否会有任何问题提交?

Screen shot of CoreText rendering on iOS9 and iOS10

解决方法

我不知道如何进行页面布局,似乎给CTFramesetter提供了一个非常空间的CGPathRef,并将整个页面布局在一个CTFrameRef中.

因此,如果行间距(或行高)增加,则行将超出设计区域.

调整以下CTParagraphStyleSpecifier可能会有所帮助,具体取决于您使用的是:

kCTParagraphStyleSpecifierLineHeightMultiple
kCTParagraphStyleSpecifierMaximumLineHeight
kCTParagraphStyleSpecifierMinimumLineHeight
kCTParagraphStyleSpecifierLineSpacing
kCTParagraphStyleSpecifierMaximumLineSpacing
kCTParagraphStyleSpecifierMinimumLineSpacing
kCTParagraphStyleSpecifierLineSpacingAdjustment

猜你在找的iOS相关文章