小编jks*_*ard的帖子

在iOS 11 PDFKit文档上实现墨迹注释

我想允许用户在PDFView中查看iOS 11 PDFKit文档.图纸最终应嵌入PDF中.

后者我通过向PDFPage添加类型为"ink"的PDFAnnotation来解决,其中UIBezierPath对应于用户的绘图.

但是,如何实际记录用户在PDFView上创建的触摸以创建这样的UIBezierPath?

我已经尝试在PDFView和PDFPage上覆盖touchesBegan,但它永远不会被调用.我试过添加一个UIGestureRecognizer,但没有做任何事情.

我假设我需要事后使用PDFView实例方法convert(_ point:CGPoint,to page:PDFPage)将获得的坐标转换为适合注释的PDF坐标.

pdf touch ios ios11

6
推荐指数
2
解决办法
4167
查看次数

iOS 11 PDFKit Ink 注释 - 无法填充 UIBezierPath

我使用具有子类型墨迹的 PDFAnnotation() 类向 PDFDocument 添加墨迹注释。这个想法是捕获使用触摸绘制的签名。

受 UberSignature 的启发,我的 UIBezierPath 是一系列应该填充颜色的矩形。但是,当我将注释添加到 PDFDocument 时,它没有被填充。

当添加到 PDFAnnotation 时,UIBezierPath 的 fill() 方法似乎根本不执行任何操作?

如果我使用相同的 UIBezierPath 并将其绘制在 UIImage 上,它将正确填充纯色。

关于可能出什么问题的任何想法吗?

有问题的代码:

UIColor.red.setStroke()
UIColor.red.setFill()

var path = UIBezierPath()
path.append(myRectangles)
path.fill()

var annotation = PDFAnnotation(bounds: path.bounds, forType: .ink, withProperties: nil)
annotation.add(path)
myPDFPage.addAnnotation(annotation)
Run Code Online (Sandbox Code Playgroud)

PDF 的当前视图

在屏幕截图中,我尝试编写普通文本和两个示例行。左边的线画得慢,右边的线画得快。这个想法是让线条的宽度根据绘制的速度而变化,以使签名看起来更自然/真实。

pdfkit ipad ios uibezierpath

3
推荐指数
1
解决办法
1808
查看次数

标签 统计

ios ×2

ios11 ×1

ipad ×1

pdf ×1

pdfkit ×1

touch ×1

uibezierpath ×1