【问题标题】:How can you remove highlighted pdf annotations?如何删除突出显示的 pdf 注释?
【发布时间】:2019-12-25 07:01:36
【问题描述】:

我在我的 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)



            }
        }
    }
}

【问题讨论】:

    标签: ios swift pdf ios-pdfkit


    【解决方案1】:

    不确定您是否解决了问题,但我相信您只需将这些注释传递给 PDFView 内置的 self.highlightedselections 数组。将该数组设置为 nil 应该会清除突出显示,而不是创建自己的注释。

    在搜索时,它应该提供一个 PDFSelection,您可以在其中设置 .color 属性

    【讨论】:

      猜你喜欢
      • 2021-02-14
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 2014-06-14
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      相关资源
      最近更新 更多