【发布时间】:2018-05-22 13:53:15
【问题描述】:
在我的 iOS 应用程序中,我使用 PDFView 和 pdfView.usePageViewController(true, withViewOptions: nil)。
当用户滑动到另一个页面时,我想隐藏PDFThumbnailView。
我已经查看了PDFViewDelegate,但是没有合适的函数可以使用。
【问题讨论】:
在我的 iOS 应用程序中,我使用 PDFView 和 pdfView.usePageViewController(true, withViewOptions: nil)。
当用户滑动到另一个页面时,我想隐藏PDFThumbnailView。
我已经查看了PDFViewDelegate,但是没有合适的函数可以使用。
【问题讨论】:
您可以尝试像这样为 PDFViewPageChanged 通知添加观察者
// Add page changed listener
NotificationCenter.default.addObserver(
pdfView,
selector: #selector(handlePageChange(notification:)),
name: Notification.Name.PDFViewPageChanged,
object: nil)
然后处理换页事件:
@objc private func handlePageChange(notification: Notification)
{
// Do your stuff here like hiding PDFThumbnailView...
}
希望对你有帮助
【讨论】:
InvalidArgumentException 。应该是这样的 addObserver(self, ... object: pdfView) 。否则它会尝试在PDFView 对象上调用handlePageChange。编辑您的答案,我会将其标记为正确:)
使用PDFViewPageChanged 通知
斯威夫特
// Add page change observer
NotificationCenter.default.addObserver(self,
selector: #selector(pageDidChange(notification:)),
name: Notification.Name.PDFViewPageChanged,
object: nil)
@objc private func pageDidChange(notification: Notification) {
// pdfView is of type PDFView
let currentPageNumber = pdfView.document?.index(for: pdfView.currentPage!)
}
目标 C
// Add page change observer
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(pageDidChange:) name:PDFViewPageChangedNotification object:nil];
- (void) pageDidChange:(NSNotification *)notification {
// _pdfView is of type PDFView
NSUInteger currentPageNumber = [_pdfView.document indexForPage:_pdfView.currentPage];
}
【讨论】: