目前我正试图在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)
添加和编辑注释非常有效。对于删除和其他选项,我现在想在键盘上方实现一些按钮,这些按钮应该在点击注释时出现。对于小部件注释,我发现了一个很棒的线程,它帮助了我(在PDFView表单字段中配置键盘设置(。当通过PDFViewAnnotationHit通知点击注释并操作inputAccessoryView属性时,该解决方案建议在活动子视图中搜索UITextView。我认为弹出注释的编辑工作方式有点不同。在编辑文本注释时,我很遗憾在应用程序中找不到UITextView。
是否有人遇到了这个问题,或者对PDFKit框架有更好的见解,可以给我一个提示?
谢谢你抽出时间!
终于找到了解决方案。此类注释的UITextView不会添加到PDFView的子视图中。它显示在过渡视图的弹出窗口中,作为窗口的子窗口。所以,当你搜索self.window的子视图时!递归地,您可以找到UITextView并对其进行操作(就像本线程中提到的那样:Swift:递归地循环所有子视图以找到特定的类并附加到数组(。不幸的是,popover在pdf视图注释命中时不可用。目前我观察到UIResponder.keyboardWillShowNotification。不是很好,但现在可以了。如果有人遇到这个线程,我将感谢你对以更好的方式操纵注释的文本视图的意见。:(