iOS 11拖放自定义文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 11拖放自定义文件?相关的知识,希望对你有一定的参考价值。

有没有人在ios 11中拖放自定义文件?有大量的标准图像和文本示例,但自定义文件呢?即使像PDF这样的标准文件也很有用。

答案
  • 方法1:

制作一个PDFDocument类并实现NSObject, NSItemProviderReading协议,然后我们在这些大量的例子中将UIImage更改为PDFDocument

更多细节 - > https://stackoverflow.com/a/45982118/3608824

  • 方法2:

另一种方式是因为我们有这个kUTTypePDF统一类型标识符,只要你import MobileCoreServices,根据dropInteraction(_:performDrop:)文档,我们可以使用这个函数loadFileRepresentation(forTypeIdentifier:completionHandler:),这样的东西应该工作:

func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool {
    return session.hasItemsConforming(toTypeIdentifiers: [kUTTypePDF as String]) && session.items.count == 1
}

func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal {
    return UIDropProposal(operation: .copy)
}

func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) {
    if let itemProvider = (session.items.first)?.itemProvider {
        itemProvider.loadDataRepresentation(forTypeIdentifier: kUTTypePDF as String) { (data, error) in
            // do the work
        }
    }

}

以上是关于iOS 11拖放自定义文件?的主要内容,如果未能解决你的问题,请参考以下文章

在 QListWidget 之间拖放自定义小部件项目

WPF拖放自定义类

动画拖放自定义 Delphi 组件

在 WPF 中的网格中的单元格之间拖放自定义控件

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段11——vue路由的配置