0

虽然 iOS 的选择实现存在Here。然而,它仅限于 Objective-C。是否可以手动快速创建选择器?

(一个 dropBox 选择器)

在此处输入图像描述

我也无法充分调用文档选择器功能,人们可以从用户可能已安装的任何应用程序中提取任何文档。

在此处输入图像描述

先感谢您

4

1 回答 1

2

⭐<strong>已解决

来自您项目的能力。首先启用 iCloud 服务和密钥共享,现在在你的类中导入 MobileCoreServices。最后在你的类中扩展了以下三个类。

UIDocumentMenuDelegate,UIDocumentPickerDelegate,UINavigationControllerDelegate

现在实现以下功能..

 public func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) {
              let myURL = url as URL
              print("import result : /(myURL)")
    }


public func documentMenu(_ documentMenu:UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
        documentPicker.delegate = self
        present(documentPicker, animated: true, completion: nil)
    }


func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
            print("view was cancelled")
            dismiss(animated: true, completion: nil)
    }

怎么称呼这一切?将以下代码添加到您的可点击函数中。

func clickFunction(){

let importMenu = UIDocumentMenuViewController(documentTypes: [String(kUTTypePDF)], in: .import)
            importMenu.delegate = self
            importMenu.modalPresentationStyle = .formSheet       
            self.present(importMenu, animated: true, completion: nil)
}

点击你的按钮。会弹出以下菜单..

菜单选择器

在 DropBox 的情况下。单击任何项​​目时。您将被重定向到您的应用程序。并且将打印 URL。

在此处输入图像描述

根据需要操作文档类型。在我的应用程序中,用户只允许使用 Pdf。所以,适合自己。

kUTTypePDF

此外,如果您想自定义自己的菜单栏。添加以下代码并在处理程序中自定义您自己的函数

        importMenu.addOption(withTitle: "Create New Document", image: nil, order: .first, handler: { print("New Doc Requested") })

在此处输入图像描述

好好享受。

于 2016-12-13T12:27:41.780 回答