PDFKit - PDFThumbnailView跳过页面而不是显示连续页面 - swift

时间:2018-02-23 15:21:52

标签: ios swift pdfkit pdfview

我能够呈现我的pdf文档的PDFThumnailView。问题是它正在跳过页面。它显示页面1,3,5等...而不显示其间的页面。我的代码如下。

@IBOutlet weak var pdfView: PDFView!
@IBOutlet weak var pdfThumbnailView: PDFThumbnailView!

 func setupThumbnailView() {
    pdfThumbnailView.pdfView = pdfView
    pdfThumbnailView.thumbnailSize = CGSize.init(width: thumbnailDimension, height: thumbnailDimension)
    pdfThumbnailView.backgroundColor = sidebarBackgroundColor

}

2 个答案:

答案 0 :(得分:1)

您必须增大pdfThumbnailView。但是,它可能太大而无法显示在屏幕上,因此我们将其放在滚动视图中。

首先更改pdfThumbnailView上的约束,使其足够宽以容纳所有页面。

NSLayoutConstraint.activate([
    pdfThumbnailView.heightAnchor.constraint(equalToConstant: CGFloat(thumbnailSize)),
    pdfThumbnailView.widthAnchor.constraint(equalToConstant: CGFloat(pdfDocument.pageCount*thumbnailSize))
])

接下来创建滚动视图,并将缩略图视图添加为其唯一的子视图。

var pdfThumbnailScrollView = UIScrollView()
pdfThumbnailScrollView.translatesAutoresizingMaskIntoConstraints = false
pdfThumbnailScrollView.addSubview(pdfThumbnailView)

最后添加一些约束,以便滚动视图和缩略图视图知道如何布置自己。滚动视图只有一个子视图,因此我们将其限制为适合。

NSLayoutConstraint.activate([
    pdfThumbnailView.leadingAnchor.constraint(equalTo: pdfThumbnailScrollView.leadingAnchor),
    pdfThumbnailView.trailingAnchor.constraint(equalTo: pdfThumbnailScrollView.trailingAnchor),
    pdfThumbnailView.topAnchor.constraint(equalTo: pdfThumbnailScrollView.topAnchor),
    pdfThumbnailView.bottomAnchor.constraint(equalTo: pdfThumbnailScrollView.bottomAnchor)
])

您可以按照this教程中的更多详细信息。

答案 1 :(得分:0)

我可能错了,但我认为这是PDFThumbnailView的工作方式。通过不显示某些中间缩略图,它可以在视图宽度内适合尽可能多的缩略图。如果您触摸缩略图,它会显示它们。使宽度更大或缩略图更小,显示更多。