Есть ли способ избежать "моргания" анимации при добавлении / удалении аннотации - PullRequest
0 голосов
/ 03 мая 2019

Я работаю над приложением 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)
}

Любая помощь будет оценена.

...