[英]How can you remove highlighted pdf annotations?
我在我的 pdf 视图中设置了一个搜索栏,可以突出显示我正在寻找的词。 当我尝试删除突出显示以便我可以搜索新词时。 我试图反转我所做的,将颜色更改为白色,并删除注释,但没有任何效果。我想在用户单击取消按钮时清除突出显示。 我究竟做错了什么?
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
i = 0
unhighlight(searchTerms: [searchWord])
searchBar.text! = ""
}
private func highlight(searchTerms: [String]?)
{
searchTerms?.forEach { term in
selections = pdfView.document?.findString(term, withOptions: [.caseInsensitive])
selections?.forEach { selection in
selection.pages.forEach { page in
highlight = PDFAnnotation(bounds: selection.bounds(for: page), forType: .highlight, withProperties: nil)
highlight.endLineStyle = .square
highlight.color = UIColor.orange.withAlphaComponent(0.5)
page.addAnnotation(highlight)
}
}
}
}
func unhighlight(searchTerms: [String]?)
{
searchTerms?.forEach { term in
selections = pdfView.document?.findString(term, withOptions: [.caseInsensitive])
selections?.forEach { selection in
selection.pages.forEach { page in
highlight = PDFAnnotation(bounds: selection.bounds(for: page), forType: .highlight, withProperties: nil)
highlight.endLineStyle = .square
highlight.color = UIColor.white.withAlphaComponent(0.5)
page.addAnnotation(highlight)
}
}
}
}
不确定您是否曾经解决过您的问题,但是我相信您只需将这些注释传递给内置于 PDFView 中的 self.highlightedselections 数组。 将该数组设置为 nil 应该清除突出显示,而不是创建您自己的注释。
在搜索中,它应该提供一个 PDFSelection,您可以在其中设置 .color 属性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.