我在pdf编辑项目中工作,因为我必须在pdfview中添加签名,之后需要调整大小并删除该签名。现在为此,我添加了一个滚动视图与UIView的顶部与透明的阿尔法和添加图像视图到该UIView,但我有一个缩放的问题。我怎样才能得到多少缩放pdfview缩放时,用户收缩缩放。我想找到pdfview的缩放contentInset,这样我就可以设置我自己的滚动视图的contentInset。
使用以下命令缩放pdfview时,尝试获取pdfview比例因子:
@objc func pdfViewScaleChange(notification:NSNotification){
print(self.pdfView.scaleFactor)
}但我仍然找不到如何缩放和设置我的UIScrollview为pdfview缩放。
发布于 2019-10-17 18:06:26
您的PDFView有一个名为scaleFactorForSizeToFit的属性,它是PDFKits autoScales用来缩放当前文档和版面的比例因子。
这意味着,如果在设置pdf时使用autoScales属性,您将能够计算出用于缩放UIScrollview的数量。
以下是我在更多上下文中所指的示例:
//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
}像这样的东西应该可以解决你的问题。
https://stackoverflow.com/questions/58377029
复制相似问题