2010-03-08 89 views
2

我已经在显示PDF页面的uiscrollview内部划分了UIView对象。我可以放大该页面。但是当我这样做时,内部视图被放大并变得模糊。我明白,内部视图shud被刷新,我打电话setNeedsDisplay。但是现在没有发生变化,甚至也没有变化。以下是子类uiview的drawRect代码。如何让UIScrollView中的子视图在我们缩放时刷新?

- (void)drawRect:(CGRect)rect 
{ 
if(document)//the pdf document object 
{  
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextSaveGState(ctx); 
    CGContextTranslateCTM(ctx, 0.00, [self bounds].size.height); 
    NSLog(@"%f",[self bounds].size.height); 
    CGContextScaleCTM(ctx, 1.0, -1.0); 
    CGContextConcatCTM(ctx, CGPDFPageGetDrawingTransform(page, kCGPDFCropBox, 
                 [self bounds], 0, true)); 
    CGContextDrawPDFPage(ctx, page);  
    CGContextRestoreGState(ctx); 
} 
} 
+0

你处理滚动视图委托方法的视图控制器的代码是什么? – 2010-03-08 08:29:07

回答

1

有点晚回答,就像您指出每次应用缩放时必须设置子视图的框架一样。确保您备份原始框架尺寸,以便在其上应用缩放因子。

当缩放子视图时,滚动视图不会更改其子视图的框架,这就是子视图内容未刷新的原因。我发现使用变换和其他复杂的,所以我只是尝试提到的方法,它为我工作。

相关问题