我正在更新2011年编写的iOS 11应用程序。该应用程序是一本交互式书籍,使用的是CoreText。当应用程序针对iOS 9构建时,文本将按预期呈现,但是当针对iOS 10或更高版本构建时,文本呈现不正确(请参见图像)。问题似乎是由于空白和/或行间距处理的变化。我尝试更改各种CTParagraphStyleSpecifier
的值,但没有一个具有所需的结果。编辑文本不是一个可行的选项,因此修复必须与修复CoreText相关。我的问题:
答案 0 :(得分:0)
我不知道如何进行页面布局,似乎给CTFramesetter提供了一个非常空间的CGPathRef,并将整个页面布局在一个CTFrameRef中。
因此,如果行间距(或行高)增加,则行将超出设计区域。
调整以下CTParagraphStyleSpecifier可能会有所帮助,具体取决于您使用的是:
kCTParagraphStyleSpecifierLineHeightMultiple
kCTParagraphStyleSpecifierMaximumLineHeight
kCTParagraphStyleSpecifierMinimumLineHeight
kCTParagraphStyleSpecifierLineSpacing
kCTParagraphStyleSpecifierMaximumLineSpacing
kCTParagraphStyleSpecifierMinimumLineSpacing
kCTParagraphStyleSpecifierLineSpacingAdjustment