2011-07-05 132 views

回答

4

我已经这样做了。该代码是私有的付费客户,所以我不能直接分享,但基本思路是这样写:

  • 一个UIView子类呈现一个PDF的单页,使用CGPDFPageRefCGPDFDocument*CGContextDrawPDFPage函数族。它有助于很大程度上使此视图从layerClass类方法返回[CATiledLayer class],并适当地设置图层的levelsOfDetail和tileSize属性。 Mine还实现了sizeThatFits以返回页面大小加上一个小的阴影,并在pdf页面的边缘呈现细微的阴影。

    请记住,UIKit绘图是从CG绘图倒置;绘画之前做一个CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height); CGContextScaleCTM(ctx, 1.0, -1.0);

  • 一个UIView子类,包含并分页(以及代表)UIScrollView以分页模式(主要水平分页器)和每个页面的单独UIScrollView,每个UIScrollView包含上述视图之一(用于放大个人)嵌套滚动视图是苹果明确认可的做这种事情的方式。这个观点将需要制定你想要的页面。大概是在一条长长的水平条上,每条缩小到一个适合的尺寸。

    如果您不需要页面缩放,则可以跳过嵌套滚动视图并直接在水平滚动条中布置页面视图。

TL; DR:不幸的是,它不像扔在UIWebView中那么简单;但它是可行的,并且直接的方法确实有效。