13

我想逐页创建 PDF 阅读器。

我知道如何使用 UIWebView 来显示 PDF,但它会加载整个 PDF 并希望一次显示一页。

PDF 存储在本地。应根据水平滑动加载下一个和上一个 PDF 页面。

如何显示单个页面以及水平滑动和缩放功能?解决此类问题的最佳方法是什么?有这方面的教程吗?

编辑:我使用 CGPDF API 逐页显示 PDF。我正在使用 PDF 页面作为图像。但是缩放不能正常工作,因为 UIPageControl 也被使用。如何缩放这些图像以及页面控制?

4

2 回答 2

10

您可以使用 Leaves View,您可以从

https://github.com/brow/leaves

第二个选项是 FastPDFKit,你可以从

http://mobfarm.eu/

在我看来,叶子更可取,因为内存管理很好,而且对用户更友好。

编辑:

您可以考虑另外两个选项,它们为 PDF 提供了一些好的功能。

  1. Github 上的阅读器
  2. PSPDFKit

注意:PSPDFKit 不是免费的。

编辑: 从 iOS 5 开始,您可以像 iBooks 一样添加滑动页面的效果。为此,您可以使用UIPageViewController。要获得一些基本的想法,只需从您的 Xcode 模板创建一个带有基于页面的应用程序的应用程序,或者您可以参考此链接

于 2011-09-29T13:33:54.793 回答
0

您将绘制 PDF 页面 (CGContextDrawPDFPage) 的 tiledLayer 作为 subLayer 添加到 UIView,然后将其作为子视图添加到 UIScrollView。这样你就有了一个PDF页面,你可以通过捏它来缩放它,你可以滚动。

假设您创建了一个 PDFViewController 类:

[myContentView.layer addSublayer:tiledLayer]; ... [scrollView addSubview:myContentView]; ... [self.view addSubview:scrollView];

然后你应该创建 MagazineViewController 类,在其中你有一个大的水平 UIScrollView,你可以从包含页面的 PDFViewController 创建视图,这样你就有一个可以水平滑动并查看杂志或书籍页面的视图。

于 2011-02-22T21:53:59.870 回答