如何获得选定文本的边界作为CGRect?

时间:2019-07-12 13:35:36

标签: swift select text bounds pdfkit

我正在尝试在pdfViewer中包括突出显示功能。但是,为了添加突出显示注释,我需要将所选文本的边界作为CGRect。我有什么办法可以得到这个?

let annotation = PDFAnnotation(bounds: bounds, forType: .highlight, withProperties: nil)

1 个答案:

答案 0 :(得分:0)

获取一组选择项,其中每个选择项对应于所选文本的一行:

guard let selections = pdfView.currentSelection?.selectionsByLine()
     else { return }

逐行浏览选择项,然后循环浏览每个选择项所包含的页面,然后使用选择项边界创建一个新的突出显示注释并将其添加到页面中

selections.forEach({ selection in
     selection.pages.forEach({ page in
         let highlight = PDFAnnotation(bounds: selection.bounds(for: page), forType: .highlight, withProperties: nil)
         highlight.color = .yellow
         page.addAnnotation(highlight)
     })
 })