首页 > 解决方案 > PDFKit bug,需要禁用 UIMenuItems

问题描述

我正在尝试禁用 PDFKit 中的 UIMenuItems。我已经实施

override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
    return false
}

但是 MenuItems CopySelect All仍然处于活动状态。我想禁用它们的主要原因是因为全选会导致较大的 pdf 文档出现致命的内存错误。

malloc:无法分配区域

我已经提交了一个错误报告,但同时我需要禁用菜单项。

注意:如果 pdfDocument.string 足够大,以下任何调用都会导致崩溃。

  1. pdfView.selectAll()
  2. UIMenuController.selectAll
  3. 让字符串 = pdfDocument.string

标签: uimenucontrollerios-pdfkitapple-pdfkit

解决方案


我需要在实际的 PDFView 上覆盖canPerformAction 。我是在我的 VC 中做的。

class MyPDFView: PDFView {
    override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
        return false
    }
}

推荐阅读