2

一旦我的 pdfView 中当前可见的页面发生变化,我就会尝试收到通知。

实际上,这应该根据文档通过.PDFViewVisiblePagesChanged.

但是,我只在第一次 pdfView didLoad 时收到通知。

一旦我滚动(因此可见页面发生变化),我就没有收到任何通知。有趣的是通知.PDFViewPageChanged正常工作(但在这种情况下还不够)。同样的行为也适用于.PDFViewScaleChanged:在这里我在 pdfView 内缩放时从未收到通知。

我的 ViewController 中的代码片段:

ovverride func viewDidLoad() {
    //...
    NotificationCenter.default.addObserver(self, selector: #selector(onDidVisiblePagesChanged(_:)), name: .PDFViewPageChanged, object: nil)
    //...
}
@objc func onDidVisiblePagesChanged(notification:Notification) {
   print("visible Pages changed!")
}
4

1 回答 1

-1

问题出在你的函数“onDidVisiblePagesChanged,你正在等待参数类型通知,你需要在你的函数中强制转换参数

@objc func onDidVisiblePagesChanged(_ sender:Any) {
    if let notification = sender as? Notification {
        print("visible Pages changed!")
        print(notification)
    }
}
于 2020-05-20T00:16:36.233 回答