【问题标题】:iOS 11 PDFKit - curl transitioniOS 11 PDFKit - 卷曲过渡
【发布时间】:2018-05-28 11:54:19
【问题描述】:

在 iOS 11 中,PDFKit 已在 iOS 中可用。它可以使用 UIPageViewController 但不能设置过渡样式(documentation)。

有什么办法可以将PDFView的PageViewController的过渡样式从默认改为page curl?

【问题讨论】:

    标签: ios swift pdf ios11


    【解决方案1】:

    我浏览了 PDFView 的视图层次结构,看起来它下面正在使用 UIPageViewController。但是,无法将过渡样式设置为 curl,因为该属性只能在初始化期间设置。

    我尝试的一种解决方法是创建您自己的 UIPageViewController 并将其视图控制器在数据源上设置为视图控制器,每个视图控制器都包含一个 PDFView,其页面设置为相应的索引,但在加载具有大量页面的 PDF 时效率低下。

    p>
    let pageCount = self.pdfDocument!.pageCount - 1
    for index in 0...pageCount {
      let page: PDFPage = self.pdfDocument!.page(at: index)!
      let pdfView: PDFView = PDFView(frame: self.view.frame)
      pdfView.document = self.pdfDocument
      pdfView.displayMode = .singlePage
      pdfView.go(to: page)
      pdfView.autoScales = true
      let vc = UIViewController()
      vc.view = aView
      pages.append(vc)
    }
    

    这又是一种变通方法,也许有更好的方法。

    【讨论】:

    • 是的,我得出了同样的结论,问题是(正如你所说)为每个页面创建一个 PDFView 是一种低效的解决方案(只显示一个页面不是他的工作) .我还看到 Apple 有一个示例项目,它显示带有卷曲页面转换的 PDF,但它是在 PDFKit 之前制作的,而且确实有问题(developer.apple.com/library/content/samplecode/ZoomingPDFViewer/…)。
    • 使用 quicklook 框架来预览文档,包括阅读 .pdf 文件。appcoda.com/quick-look-framework
    • @HariNarayanan 我不想只显示文件,我需要 PDFKit 进行交互
    • 如果您愿意使用商业解决方案,github.com/PSPDFKit/PDFXKit - 使用行业领先的 PSPDFKit 框架替代 Apple PDFKit,提供快速页面卷曲。
    猜你喜欢
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    相关资源
    最近更新 更多