首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFKit - PDFPageOverlayViewProvider与PKCanvasView不转发触摸事件- WWDC22会话10089

PDFKit - PDFPageOverlayViewProvider与PKCanvasView不转发触摸事件- WWDC22会话10089
EN

Stack Overflow用户
提问于 2022-10-05 13:10:16
回答 1查看 127关注 0票数 2

我试图利用PDFPageOverlayViewProvider 16引入的PDFKit框架中的PDFView类的PDFKit协议,以便在PDF文档的基础上显示PencilKit PKCanvasView,这样用户就可以在PDF文档上绘制东西。

我想要完成的任务基本上和WWDC22会话10089中显示的一样。遗憾的是,没有提供包含此功能的示例代码。

这是我的问题:我设法通过PKCanvasView协议将PDFPageOverlayViewProvider添加到视图层次结构中,但我无法绘制任何东西。我使用这一技术调试了触摸事件,看起来这些触摸被转发到PDFDocumentView,这是PDFView的内部子视图,也是PKCanvasView的父视图。

如何确保用苹果铅笔制作的触摸事件被转发到PKCanvasView,而不禁用PDFView的滚动和摇摄功能

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-15 03:12:10

这是解决方案:将此代码放在overlayprovider的pdfView func中:

代码语言:javascript
复制
   if (view.documentView != nil){
       for sv in view.documentView!.subviews {
           if (sv.theClassName == "PDFPageView" ){
               sv.isUserInteractionEnabled = true
           }
       }
   } 

对于theClassName,您应该像这样扩展NSObject

代码语言:javascript
复制
extension NSObject {
    var theClassName: String {
        return NSStringFromClass(type(of: self))
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73960885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档