在粘贴到页面的pdfView中添加TextView

问题描述 投票:0回答:1

在 iPhone 默认的 PDFView 中,用户可以向 pdf 添加文本。添加 textView 后,它会与 pdf 页面粘在一起并随页面滚动。

我想在我的 CustomPDFViewer 中复制此行为。我创建了一个 CustomPDFView,一个使用 PDFKit pdfView 的类。

在 CustomPDFViewer 这个类中,我在 PDFView 上添加了一个

UITapGestureRecognizer
来捕获位置。 然后,我根据点击手势获得的位置创建框架。 (x,y 位置。我给出高度和宽度)。

// location is CGPoint which I get from TapGesture
let xPoint = location.x - 100
let yPoint = location.y - 100
let frame = CGRect(x: xPoint, y: yPoint, width: 200, height: 70)

之后,我将 textView 添加到 pdfView。

pdfView.addSubview(textBoxView)

这会向 pdfView 添加一个 textView,但问题是如果我滚动 pdf,页面会滚动,但 textView 仍保留在该位置。

我想将此 textView 粘贴在用户点击的页面上,这样如果该页面向上或向下滚动,textView 也会随之移动。

所以我尝试过-

  1. 直接将textView添加到PDFKit的pdfView中。但似乎将 subView 添加到 pdfView 是不可能的。

  2. 尝试将 self (CustomPDFView) 分配给 pdfView 的委托。但即使我将这个(CustomPDFView)分配为委托,如果 pdfView 中的scrollView委托函数没有在CustomPDFView中被调用。所以我无法根据scrollView偏移量移动textView。

注意:我可以将 textView 的内容保存为 pdf 的注释,并可以将其显示为粘在页面上。但唯一的问题是让textView粘在页面上

有什么方法可以将textView或任何视图添加到pdfView作为pdfPage的粘帖吗?

预计 当前
ios swift uitextview apple-pdfkit
1个回答
0
投票

您应该能够通过将文本视图添加到 pdf 视图的

.documentView
...

来做到这一点
    // safely unwrap optional
    if let docView = pdfView.documentView {
        docView.addSubview(textBoxView)
    }
    

然后它会随着 pdf 页面滚动。

© www.soinside.com 2019 - 2024. All rights reserved.