如何添加回或取消按钮以关闭UIDocumentBrowser

时间:2018-09-07 11:50:41

标签: ios swift uidocumentbrowservc

我需要提供用于上传文档的UIDocumentBrowser。但是我无法在导航栏中放置后退或取消按钮。下图是WhatsApp中文件浏览器的屏幕截图。 有人可以帮我吗?

enter image description here

2 个答案:

答案 0 :(得分:3)

UIDocumentBrowserViewController设计为仅用作根视图控制器,这就是为什么它没有“后退”或“取消”按钮的原因。根据文档:

https://developer.apple.com/documentation/uikit/view_controllers/adding_a_document_browser_to_your_app

  

重要

     

始终将文档浏览器分配为应用程序的根视图控制器。   不要将文档浏览器放在导航控制器,标签栏,   或拆分视图,并且不要以模态显示文档浏览器。

     

如果要从其他位置显示文档浏览器   您的视图层次结构,请改用UIDocumentPickerViewController

答案 1 :(得分:2)

对UINavigationBar和UIBarButtonItem使用外观为黑色的CustomDocumentPickerViewController。使用下面的代码

import UIKit

class CustomDocumentPickerViewController: UIDocumentPickerViewController {

  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    UINavigationBar.appearance().tintColor = UIColor.black
    UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.black], for: .normal)
  }

  override func viewWillDisappear(_ animated: Bool) {

    UINavigationBar.appearance().tintColor = UIColor.white // your color
    UIBarButtonItem.appearance().setTitleTextAttributes(nil, for: .normal)
    super.viewWillDisappear(animated)

  }

}