Я работаю над новым приложением. Я отображаю различные документы из NSAttributedString, используя основной текст. У меня проблемы со странными глюками при рендеринге текста. Это происходит не с каждым документом. Кажется, нет рифмы или причины, когда оно появляется или нет.
Вот обрезанный снимок экрана, чтобы продемонстрировать проблему.
Вот строка из того же скриншота, которая отображается правильно.
Снимки экрана взяты из одного и того же снимка экрана и из одного документа.
Когда возникает проблема, обычно неправильно отображаются только 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);
Любая помощь приветствуется!
EDIT: Эта проблема не существует на iPhone 4, только на 3GS, который у меня есть для тестирования.
Ошибка всегда в середине документа.