gpt4 book ai didi

iphone - CoreText 渲染文本故障

转载 作者:可可西里 更新时间:2023-11-01 06:17:03 24 4
gpt4 key购买 nike

我正在开发一款新应用。我使用 Core Text 从 NSAttributedString 呈现不同的文档。我在文本呈现中遇到奇怪的故障。并非每个文档都会发生这种情况。它何时出现与不出现似乎没有规律可循。

这里是一个裁剪的屏幕截图来演示这个问题。

Glitch in rendering

这是正确呈现的同一屏幕截图中的一行。

Correct rendering

截图来自同一个截图,同一个文档。

出现问题时,通常只有 2-3 行连续的文本呈现不正确。文档的其余部分很好。

这是我用来在 drawRect 中呈现文本的代码:

CGContextRef context = UIGraphicsGetCurrentContext();

float viewHeight = self.bounds.size.height;
CGContextTranslateCTM(context, 0, viewHeight);
CGContextScaleCTM(context, 1.0, -1.0);
CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, 1.0));

CGMutablePathRef path = CGPathCreateMutable();
CGRect bounds = CGRectMake(PADDING_LEFT, -PADDING_TOP, self.bounds.size.width-20.0, self.bounds.size.height);
CGPathAddRect(path, NULL, bounds);

CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFMutableAttributedStringRef)attrString);
CTFrameRef frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, 0), path, NULL);
CFRelease(framesetter);
CFRelease(path);
CTFrameDraw(frame, context);

感谢任何帮助!

编辑:这个问题似乎不存在于 iPhone 4 上,只存在于我用于测试的 3GS 上。

故障总是在文档的中间。

最佳答案

请尝试各种设置来影响文本的子像素渲染。您可以在 https://github.com/Cocoanetics/NSAttributedString-Additions-for-HTML/blob/master/Classes/DTCoreTextLayoutFrame.m 中的第 259 行看到各种选项。

关于iphone - CoreText 渲染文本故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com