【问题标题】:Apple PDFKit Notifications not working properlyApple PDFKit 通知无法正常工作
【发布时间】:2019-11-03 14:05:31
【问题描述】:

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

【问题讨论】:

  • 我也有同样的问题。我已将其报告给 bugreport.apple.com。这也可能是文档问题。

标签: ios swift apple-pdfkit


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 2016-06-19
    • 2016-11-27
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    相关资源
    最近更新 更多