Iphone 使用CATiledLayer渲染PDF时,如何在缩放时保持文本清晰

Iphone 使用CATiledLayer渲染PDF时,如何在缩放时保持文本清晰,iphone,ios,ipad,quartz-graphics,Iphone,Ios,Ipad,Quartz Graphics,我已经在我的应用程序中实现了PDF查看器。这是一个滚动视图,使用CATiledLayer进行缩放 一种更简单的方法是使用qlviewcontroller,它支持通过页面控制和缩放查看PDF,但我需要对PDF页面进行精细控制 我有观众的工作,但希望重画踢在更快。目前,当我放大到两倍大小(200%)时,它只会重新绘制文本。因此,在放大足够远之前,文本会显得模糊 我已经尝试了levelOfDetail和levelOfDetailBias的各种组合,试图更快地重新绘制,但没有效果 以下是创建CATile

我已经在我的应用程序中实现了PDF查看器。这是一个滚动视图,使用
CATiledLayer
进行缩放

一种更简单的方法是使用
qlviewcontroller
,它支持通过页面控制和缩放查看PDF,但我需要对PDF页面进行精细控制

我有观众的工作,但希望重画踢在更快。目前,当我放大到两倍大小(200%)时,它只会重新绘制文本。因此,在放大足够远之前,文本会显得模糊

我已经尝试了
levelOfDetail
levelOfDetailBias
的各种组合,试图更快地重新绘制,但没有效果

以下是创建
CATiledLayers
的代码:

  //get the pdf crop box rectangle
  CGPDFPageRef pageRef=[self.pdf getPdfPage:self.myPageNo];
  CGRect cropBox = CGRectIntegral(CGPDFPageGetBoxRect(pageRef, kCGPDFCropBox));

  //scale to size of the screen
  CGRect targetRect = self.view.bounds;
  CGFloat xScale = targetRect.size.width / cropBox.size.width;
  CGFloat yScale = targetRect.size.height / cropBox.size.height;
  self.scale = xScale < yScale ? xScale : yScale;

  //alway fill height of screen
  self.scale = yScale;

  //used to center the pdf horizontally
  self.xOffSet = (targetRect.size.width - cropBox.size.width*self.scale)/2;
  [self renderPDFPageToImage];
  CGRect boundsRect = self.view.bounds;

  //use a tiled layer for better performance
  CATiledLayer *tiledLayer = [CATiledLayer layer];
  tiledLayer.delegate = self;
  tiledLayer.tileSize = CGSizeMake(1024.0, 1024.0);
  tiledLayer.levelsOfDetail = 4;
  tiledLayer.levelsOfDetailBias = 4;
  tiledLayer.frame = boundsRect;

  self.myContentView = [[[UIView alloc] initWithFrame:boundsRect] autorelease];
  [self.myContentView.layer addSublayer:tiledLayer];

  CGRect viewFrame = self.view.frame;
  viewFrame.origin = CGPointZero;
  UIScrollView *_scrollView = [[UIScrollView alloc] initWithFrame:viewFrame];
  _scrollView.delegate = self;
  _scrollView.contentSize = boundsRect.size;

  _scrollView.maximumZoomScale = 4;
  [_scrollView addSubview:myContentView];
  //retain it
  self.scrollView=_scrollView;

  [self.view addSubview:_scrollView];
  [_scrollView release];
//获取pdf裁剪框矩形
cgpdfageref pageRef=[self.pdf getPdfPage:self.myPageNo];
CGRect cropBox=CGRectIntegral(CGPDFPageGetBoxRect(pageRef,kCGPDFCropBox));
//按屏幕大小缩放
CGRect targetRect=self.view.bounds;
CGFloat xScale=targetect.size.width/cropBox.size.width;
CGYScale=targetect.size.height/cropBox.size.height;
self.scale=xScale

请给我指出正确的方向。

尝试增加levels的值。详细信息我已经尝试过了,这没有什么区别,谢谢