我尝试在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!")
}
答案 0 :(得分:0)
问题出在函数“ onDidVisiblePagesChanged”上,您正在等待参数类型通知,您需要在函数内部强制转换参数
@objc func onDidVisiblePagesChanged(_ sender:Any) {
if let notification = sender as? Notification {
print("visible Pages changed!")
print(notification)
}
}