我正在处理PDF Edition应用程序,但遇到了一个奇怪的问题。 我正在使用Xcode 10.2和iOS 12.2。
当我在PDFView上绘制注释时,注释在屏幕上显示的越大,重新绘制时闪烁的次数就越多。
我不知道问题是否来自我的PDFAnnotation子类的draw函数
class PDFDrawingAnnotation: PDFAnnotation {
public var path: UIBezierPath!
func completed() {
add(path)
}
override func draw(with box: PDFDisplayBox, in context: CGContext) {
let pathCopy = path.copy() as! UIBezierPath
UIGraphicsPushContext(context)
context.saveGState()
context.setShouldAntialias(true)
color.set()
pathCopy.lineJoinStyle = .round
pathCopy.lineCapStyle = .round
pathCopy.lineWidth = border?.lineWidth ?? 1.0
pathCopy.stroke()
context.restoreGState()
UIGraphicsPopContext()
}
}
或者通过我在页面上添加注释的函数
private func redraw(annotation: PDFAnnotation, onPage: PDFPage) {
if onPage.annotations.contains(annotation) {
onPage.removeAnnotation(annotation)
}
onPage.addAnnotation(annotation)
delegate?.addUndo(annotation)
}
任何帮助将不胜感激。