在 PDFKit 中为文本注释配置键盘 (iOS14)

Configuring keyboard in PDFKit for text annotations (iOS14)

目前我尝试在我的 iOS 应用程序中实现带有注释的 PDF 视图。我实现了一个将注释注释添加为文本注释的功能,如下所示:

    let rect = CGRect.init(x: lastLongPressLoc.x, y: lastLongPressLoc.y, width: 24, height: 24)
    let ann = PDFAnnotation(bounds: rect, forType: PDFAnnotationSubtype.text, withProperties: nil)
    ann.font = UIFont(name: "Helvetica", size: 20.0)
    ann.interiorColor = UIColor.yellow
    ann.popup?.interiorColor = UIColor.yellow
    ann.color = UIColor.yellow
    ann.iconType = PDFTextAnnotationIconType.comment
    self.currentPage?.addAnnotation(ann)

添加和编辑注释效果很好。对于删除和其他选项,我现在想在键盘上方实现一些按钮,这些按钮应该在点击注释时出现。 对于小部件注释,我发现了一个很棒的线程,它帮助了我 ()。该解决方案建议在通过 PDFViewAnnotationHit 通知点击注释时搜索 UITextView 的活动子视图并操作 inputAccessoryView 属性。 我假设弹出注释的编辑工作有点不同。不幸的是,在编辑文本注释时,我在我的应用程序中找不到 UITextView。

有没有人遇到过这个问题或者对 PDFKit 框架有更好的见解,可以给我一个提示?

感谢您的宝贵时间!

终于找到解决办法了。此类注释的 UITextView 不会添加到 PDFView 的子视图中。它作为 window 的子项显示在过渡视图的弹出窗口中。 所以,当你搜索 self.window 的子视图时!您可以递归地找到 UITextView 并对其进行操作(如本线程中所述:)。不幸的是,弹出窗口在 pdf 视图注释命中时不可用。目前我观察 UIResponder.keyboardWillShowNotification。不是很好,但是现在就可以了。 如果有人遇到这个线程,我会很感激你对以更好的方式操纵注释的文本视图的意见。 :)