美文网首页
文件选择用遇到的坑

文件选择用遇到的坑

作者: 凨弥 | 来源:发表于2018-08-10 10:23 被阅读0次

    简介

    iOS8.0+之后有开放了对共享目录的文件浏览编辑等操作

    • UIDocumentPickerViewController ios8.0+
    • UIDocumentBrowserViewController ios11.0+ 两种方式。

    UIDocumentPickerViewController

    //
    init(documentTypes allowedUTIs: [String], in mode: UIDocumentPickerMode)
    
    • UIDocumentPickerMode

    import //复制导入沙盒中
    open //共享目录打开
    exportToService
    moveToService

    官方给的文档说直接首前两个。

    • documentTypes
      所以支持的类型,这里是官方地址
     let vc = UIDocumentPickerViewController(documentTypes: ["public.content","public.text"], in: .open)
             vc.delegate = self
                vc.modalPresentationStyle = .fullScreen
                vc.allowsMultipleSelection = true//ios11之后 加入多选功能
                self.present(vc, animated: true, completion: nil)
    

    * 此处必须是present方法 如果navigationController?.pushViewController(vc, animated: true) 选中文件不会出发代理事件,不知原因,这是我遇到的一个坑。

    • UIDocumentPickerDelegate
    • documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL)
      ios8.0 ios11废弃
    • documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL])
      iOS11.0+ 选中文件后,文件的地址。

    *需要注意的是,URL的权限不能直接访问共享文件的内容,需要申请权限,操作完成释放权限

    • url.tartAccessingSecurityScopedResource() 申请权限,BOOL
    • url.stopAccessingSecurityScopedResource() 释放

    UIDocumentBrowserViewController

    实例化的方法基本一样

     let vc = UIDocumentBrowserViewController(forOpeningFilesWithContentTypes: ["public.content","public.text","public.source-code","public.image","public.audiovisual-content","com.adobe.pdf","com.apple.keynote.key","com.microsoft.word.doc","com.microsoft.excel.xls","com.microsoft.powerpoint.ppt"])
                
                vc.modalPresentationStyle = .fullScreen
                vc.delegate = self
                navigationController?.pushViewController(vc, animated: true)
    

    代理相对简单 就不多做说明了

    UIDocumentPickerViewController遇到了一个坑,目前还没有解决:同样的代码,Dome中显示正常,项目中,导航栏的返回图标于返回文字重叠。

    相关文章

      网友评论

          本文标题:文件选择用遇到的坑

          本文链接:https://www.haomeiwen.com/subject/lplcbftx.html