在Swift中绘制UIWebView

时间:2016-01-05 10:52:37

标签: ios swift pdf draw qlpreviewcontroller

我正在寻找一种在UIWebView上方绘制“线条”的方法。

我有UIWebView显示PDF file,用户应该能够添加“行”和“草图”(简单的一条颜色线等),以确保可以使用{ {1}}在UIView之上,但我遇到了两个逻辑问题。

首先,绘图所在的UIWebView是否在行旁边是透明的 - 这样您就可以通过它查看UIView了?

我如何处理pdf的缩放,如果用户缩放 PDF,则WebView必须缩放“彼此相关” - 所以绘图保持在同一UIView级别?

有没有其他方法可以显示spot/zoom并为其添加图纸/注释?目前我正在使用PDF,我认为无法添加任何类型的注释?

这是三个最好的做法吗?

1 个答案:

答案 0 :(得分:3)

PSPDFKit可以很好地处理这个问题(以及许多其他难以解决的PDF问题)。使用Web视图来解决这类问题可能会有很多小问题。任何对PDF有重要需求的商业产品都应该从那里开始。对于开源项目,除了&#34之外我没有很好的答案。是的,PDF是非常艰难的;祝你好运。"

那就是说,这里有一些可能对你有帮助的起点。

  • 您可以使用webView.scalesPageToFit = false
  • 关闭缩放功能
  • 您可以使用webView.scrollView.zoomScale
  • 获取当前缩放比例
  • 我相信你可以KVO观察zoomScale在它改变时跟踪它,但你可能只得到目标值(这将导致你滞后)。
  • 您可以停用缩放(scalesPageToFit),然后使用UIPinchGestureRecognizerscrollView.setZoomScale(_:animated:)自行重新实施。这样您就可以更好地跟踪缩放变化。您还可以尝试使用CABasicAnimation自行处理动画,以便保持同步。

我对滚动视图,网页浏览量和PDF的体验是,有很多有趣的互动会让您感到惊讶。得到的东西"有点"作品并不难,但让它变得干净,光滑,美丽可能是一场噩梦。这就是我通常向客户推荐PSPDFKit的原因。您通常在许可证上的花费要少于自定义开发。