首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFview滚动视图缩放

PDFview滚动视图缩放
EN

Stack Overflow用户
提问于 2019-10-14 20:38:08
回答 1查看 690关注 0票数 2

我在pdf编辑项目中工作,因为我必须在pdfview中添加签名,之后需要调整大小并删除该签名。现在为此,我添加了一个滚动视图与UIView的顶部与透明的阿尔法和添加图像视图到该UIView,但我有一个缩放的问题。我怎样才能得到多少缩放pdfview缩放时,用户收缩缩放。我想找到pdfview的缩放contentInset,这样我就可以设置我自己的滚动视图的contentInset。

使用以下命令缩放pdfview时,尝试获取pdfview比例因子:

代码语言:javascript
复制
@objc func pdfViewScaleChange(notification:NSNotification){
        print(self.pdfView.scaleFactor)
}

但我仍然找不到如何缩放和设置我的UIScrollview为pdfview缩放。

EN

回答 1

Stack Overflow用户

发布于 2019-10-17 18:06:26

您的PDFView有一个名为scaleFactorForSizeToFit的属性,它是PDFKits autoScales用来缩放当前文档和版面的比例因子。

这意味着,如果在设置pdf时使用autoScales属性,您将能够计算出用于缩放UIScrollview的数量。

以下是我在更多上下文中所指的示例:

代码语言:javascript
复制
//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
}

像这样的东西应该可以解决你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58377029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档