Масштабирование PDF внутри UIScrollView

У меня есть файл PDF размером 2835 пикселей внутри UIScrollView размером 2835 пикселей. Для отображения PDF я использую CATiledLayer.

Моя проблема в том, что когда я уменьшаю масштаб scrollView (в масштабе ниже 1), качество PDF становится очень плохим. Что странно, когда я увеличиваю scrollView (в масштабе выше 1), PDF выглядит великолепно. Чем больше я увеличиваю масштаб (масштаб * 10), тем лучше качество.

Как изменить код, чтобы качество как в уменьшенном, так и в верхнем масштабе было хорошим?

// Draw the CGPDFPageRef into the layer at the correct scale.
-(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)context
{
// First fill the background with white.
//CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0);
CGContextFillRect(context,CGRectMake(0, 0, 2835,1417));

CGContextSetInterpolationQuality(context, kCGInterpolationHigh);

CGContextSaveGState(context);
// Flip the context so that the PDF page is rendered
// right side up.
CGContextTranslateCTM(context, 0.0, 1417);
CGContextScaleCTM(context, 1.0, -1.0);

// Scale the context so that the PDF page is rendered 
// at the correct size for the zoom level.
CGContextScaleCTM(context, myScale,myScale);    
CGContextDrawPDFPage(context, pdfPage);
CGContextRestoreGState(context);

}

person alex    schedule 10.03.2011    source источник


Ответы (1)


Я установил для levelOfDetail и levelOfDetailBias значение 10. Это сместило весь масштаб в сторону увеличения. Теперь я изменил levelOfDetail на 10 и levelOfDetailBias на 7, и все работает нормально.

person alex    schedule 11.03.2011