Я работаю над приложением PDF Edition, и у меня возникла странная проблема.
Я использую Xcode 10.2 и iOS 12.2.
Когда я рисую аннотацию в PDFView, чем больше аннотация на экране, тем больше она мигает при перерисовке.
И я не знаю, возникает ли проблема из-за функции рисования моего подкласса PDFAnnotation
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)
}
Любая помощь будет оценена.