解决方法是将PDFView的delegate属性设置为实现了PDFViewDelegate协议的对象,并实现其pageChanged方法。具体代码示例如下:
在ViewController类中:
import UIKit
import PDFKit
class ViewController: UIViewController, PDFViewDelegate {
@IBOutlet var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
// 设置PDFView的delegate属性为当前ViewController
pdfView.delegate = self
// 加载PDF文件
if let path = Bundle.main.path(forResource: "example", ofType: "pdf") {
if let pdfDocument = PDFDocument(url: URL(fileURLWithPath: path)) {
pdfView.document = pdfDocument
}
}
}
// PDFViewDelegate协议中的方法,当用户拖动或滚动PDFView时调用
func pdfViewPageChanged(_ sender: PDFView) {
print("当前页码:\(pdfView.currentPage!.pageRef!.pageNumber)")
}
}
这样就能够在用户拖动或滚动PDFView时输出当前页码了。