PDFview scrollview zoom
我正在pdf编辑项目中工作,因为我必须在pdfview中添加签名,然后需要调整大小并删除该签名。现在,为此,我在带有透明alpha的pdfview顶部添加一个带有UIView的滚动视图,并将图像视图添加到该UIView中,但是缩放存在问题。当用户捏缩放时,如何获得pdfview缩放率。我想找到pdfview的zoomcontentInset,所以我可以设置自己的scrollview的contentInset。
在使用:
1 2 3 | @objc func pdfViewScaleChange(notification:NSNotification){ print(self.pdfView.scaleFactor) } |
进行pdfview缩放时尝试获取pdfview比例因子,但是仍然找不到如何缩放并将UIScrollview设置为pdfview缩放。
您的PDFView具有一个名为
这意味着如果使用
这是我在更多上下文中的意思的示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | //wherever you set your pdf (doesn't have to be viewDidAppear) override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) pdfView.document = PDFDocument(data: data) pdfView.autoScales = true //Add the observer here to detect when your pdf is zoomed in or out NotificationCenter.default.addObserver(self, selector: #selector(pdfPageWasZoomed), name: Notification.Name.PDFViewPageChanged, object: nil) } //wherever you want to zoom use this func getScrollViewScaleFactor() -> CGFloat { return (pdfView.scaleFactor / pdfView.scaleFactorForSizeToFit) } //Objc function which is called everytime the zoom changes @objc private func pdfPageWasZoomed() { //Here use the function getScrollViewScaleFactor() to get a factor to scale in or out by } |
这样可以解决您的问题。