擦除使用 pdfkit 添加的 pdfAnnotation
Posted
技术标签:
【中文标题】擦除使用 pdfkit 添加的 pdfAnnotation【英文标题】:Erase pdfAnnotation added using pdfkit 【发布时间】:2018-12-12 06:15:00 【问题描述】:我使用下面的代码在 pdfpage 上画了一条线。当用户拖动注释时,有什么方法可以像橡皮擦一样擦除注释。
let lineAttributes: [PDFAnnotationKey: Any] = [ .linePoints: [startPoint.x, startPoint.y, point.x, point.y],
.lineEndingStyles: [PDFAnnotationLineEndingStyle.none,PDFAnnotationLineEndingStyle.none], .color: UIColor.red,.border: PDFBorder() ]
let lineAnnotation = PDFAnnotation(bounds: pageBounds , forType: .line,withProperties: lineAttributes)
lineAnnotation.border = border
lineAnnotation.color = selectedcolor
page!.addAnnotation(lineAnnotation)
【问题讨论】:
【参考方案1】:1) 将平移手势识别器添加到您的 PDFView
2) 跟踪手势并在适当的时候(如手势越过注释)调用page.removeAnnotation(lineAnnotation)
这是您如何从手势识别器获取页面内的触摸位置
CGPoint touchLocation = [sender locationInView:self.pdfView];
PDFPage * pdfPage = [self.pdfView pageForPoint:touchLocation nearest:NO];
if (pdfPage == nil)
return;
CGPoint pageLocation = [self.pdfView convertPoint:touchLocation toPage:pdfPage];
【讨论】:
以上是关于擦除使用 pdfkit 添加的 pdfAnnotation的主要内容,如果未能解决你的问题,请参考以下文章