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拖放自定义文件?的主要内容,如果未能解决你的问题,请参考以下文章