我已经看到了这样做的两种方法,即通过UIWebView并使用Quartz框架绘制pdf页面。我听说使用UIWebView时出现了迟缓问题,并没有使用后一种方法那么灵活。
作为一名新手iOS程序员, 1)我应该首先学习哪些主题(在开始学习Quartz PDF支持之前哪些框架/控件/库)?
2)iOS5 / Xcode的最新测试版中是否有新的内容与此相关?
任何可用的建议和/或样本都会有所帮助。
答案 0 :(得分:2)
尽管Apple在其主题演讲中表示“更好的PDF支持”,但iOS4和新版本之间没有明显区别。可能是他们在内部改进了PDF解析,但那是我身边的纯粹推测。
使用UIWebView for pdfs并不是那么好。 Apple在iOS4中引入了QuickLook,与webview相比,它更快,更清晰。
如果你想获得更多的速度,更多的功能,你必须深入了解Quartz CGPDF *功能,并且正确而快速地获得它是一个真正的PITA。特别是因为有很多你甚至不知道的东西,例如PDF可以有旋转信息,裁剪/媒体框等。对于快速滚动,您还需要某种UIScrollView,它可以快速重用它的内部视图。
并且要非常小心CATiledLayer(你需要允许快速缩放) - 因为当你没有正确地结束渲染时,那个工作多线程并且真的喜欢在你的脸上崩溃。 (必须重要的是没有它的委托,甚至可能是内容。但是内容等待线程可能会阻止主视图。)
如果你还想自己做,Apple的Zooming PDF Viewer Example是一个开始。虽然它不处理旋转或裁剪/媒体框具有负值的情况 - 并且也没有页面滚动。
答案 1 :(得分:0)
我认为你应该尝试fastpdfkit。这是一个很好的库,有很多功能(缩略图,文本搜索等等)。
您可以在http://www.fastpdfkit.com/
找到它注意:我对fastpdfkit公司或网站并不紧张。