Fer*_*ano 6 pdf cocoa-touch objective-c uiwebview
我想了解一下如何实现水平滚动的PDF视图.
我知道如何使用UIWebView实现PDF阅读器,但只是垂直滚动.
我已经做到了这一点。该代码对于付费客户来说是私有的,所以我不能直接分享它,但基本思想是这样写:
CGPDFPageRef一个 UIView 子类,使用和CGPDFDocument*和CGContextDrawPDFPage系列函数呈现 PDF 的单个页面。[CATiledLayer class]该视图从layerClass类方法返回以及适当地设置图层的levelsOfDetail 和tileSize 属性有很大帮助。我的还实现sizeThatFits返回页面大小加上小装订线,并在 pdf 页面边缘渲染微妙的阴影。
请记住,UIKit 绘图与 CG 绘图是颠倒的;所以在涂漆之前先做一下CGContextTranslateCTM(ctx, 0.0, layer.bounds.size.height); CGContextScaleCTM(ctx, 1.0, -1.0);。
一个 UIView 子类,包含和布局(并委托)分页模式下的 UIScrollView(主要水平分页器),以及每个页面的单独 UIScrollView,每个包含上述视图之一(用于放大到各个页面。) 嵌套滚动视图是苹果公司明确认可的做这类事情的方式。该视图需要按照您想要的方式布置页面;大概是在一个长的水平条带中,每个条带都放大到合适的尺寸。
如果不需要页面缩放,则可以跳过嵌套的滚动视图,直接在水平滚动条中布置页面视图。
TL;DR:不幸的是,这并不像把它扔进 UIWebView 那么简单;但这是可行的,而且直接的方法确实有效。