Apple PDFKit通知无法正常运行

时间:2019-06-20 17:38:31

标签: ios swift apple-pdfkit

我尝试在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!")
}

1 个答案:

答案 0 :(得分:0)

问题出在函数“ onDidVisiblePagesChanged”上,您正在等待参数类型通知,您需要在函数内部强制转换参数

@objc func onDidVisiblePagesChanged(_ sender:Any) {
    if let notification = sender as? Notification {
        print("visible Pages changed!")
        print(notification)
    }
}