我尝试使用分页创建一个简单的UIScrollView。我希望能够滚动浏览大型PDF文档,但这给我带来了一些问题......
我尝试了以下选项:
我不想在启动时加载所有东西,而是在使用过程中加载。
最近有人这么做过吗?似乎无法找到一个很好的示例项目。
日Thnx!
耶勒
答案 0 :(得分:2)
查看Apple的ZoomingPDFViewer示例:
http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Introduction/Intro.html
答案 1 :(得分:1)
此问题是PDF呈现中最常见的问题之一。解决方案是缓存有限数量的pdf页面。由于ios设备的内存不足,当您拥有较大的pdf文件时,无法缓存所有页面。
例如,Goodreader(最好的iOS PDF阅读器应用程序之一)也使用缓存机制。当你翻页时,Goodreader会缓存3页;但是当你更快地翻页时它们会有问题。因此,加载新页面需要更长的时间。
首先从Goodreader的解决方案开始,例如您开始使用上一页,当前页和下一页进行缓存。当用户翻转页面时,您应该缓存上一页或下一页。
如果我举一个例子;
起点(由于性能问题,将两页加载到具有后台线程的内存中):
prev = nil;
current = page1;
next = page2;
当用户翻到下一页时;
prev = page1;
current = page2;
next = page3 //(Load into the cache);
使用此解决方案逻辑,您有机会将超过3页加载到您的内存中
答案 2 :(得分:0)
ZoomingPDFViewer在这里不会有任何帮助。它不包括分页,也不包括更快的加载。 这可能对您有所帮助:http://cocoawithlove.com/2009/01/multiple-virtual-pages-in-uiscrollview.html 将PDF绘制到自定义视图中。这似乎是最有效的技术。