11 Replies
      Latest reply on Oct 27, 2019 7:11 PM by beginerIOS
      beginerIOS Level 1 Level 1 (0 points)

        I am using UIDocumentBrowser to retrieve files. But I am not able to place a back or cancel button in the navigation bar.

         

         

        I want to make a cancellation button for this but I can't make a cancellation button. How can I solve this problem?

         

         

        current code

        ~~~swift

        import Foundation
        import UIKit
        
        
        @available(iOS 11.0, *)
        class DocumentBrowserViewController : UIDocumentBrowserViewController, UIDocumentBrowserViewControllerDelegate {
           
            override func viewDidLoad() {
                super.viewDidLoad()
               
                 delegate = self
               
                 browserUserInterfaceStyle = .dark
                 view.tintColor = .white
            }
               
            func documentBrowser(_ controller: UIDocumentBrowserViewController, didRequestDocumentCreationWithHandler importHandler: @escaping (URL?, UIDocumentBrowserViewController.ImportMode) -> Void) {
                let newDocumentURL: URL? = nil
               
                // Set the URL for the new document here. Optionally, you can present a template chooser before calling the importHandler.
                // Make sure the importHandler is always called, even if the user cancels the creation request.
                if newDocumentURL != nil {
                    importHandler(newDocumentURL, .move)
                } else {
                    importHandler(nil, .none)
                }
            }
           
            func documentBrowser(_ controller: UIDocumentBrowserViewController, didPickDocumentURLs documentURLs: [URL]) {
                guard let sourceURL = documentURLs.first else { return }
               
                do{
                   try presentDocument(at: sourceURL)
                } catch {
                    Log.Debug("\(error)")
                }
            }
           
            func documentBrowser(_ controller: UIDocumentBrowserViewController, didImportDocumentAt sourceURL: URL, toDestinationURL destinationURL: URL) {
                // Present the Document View Controller for the new newly created document
                do{
                    try presentDocument(at: sourceURL)
                } catch {
                    Log.Debug("\(error)")
                }
            }
           
            func documentBrowser(_ controller: UIDocumentBrowserViewController, failedToImportDocumentAt documentURL: URL, error: Error?) {
                // Make sure to handle the failed import appropriately, e.g., by presenting an error message to the user.
            }
           
            func presentDocument(at documentURL: URL) throws {
                guard documentURL.startAccessingSecurityScopedResource() else {
                    throw IXError.fileAcessFailed
                }
               
                let storyBoard = UIStoryboard(name: "Main", bundle: nil)
                let documentViewController = storyBoard.instantiateViewController(withIdentifier: "ViewController") as! ViewController
               
                documentViewController.document = Document(fileURL: documentURL)
            }
        }

        ~~~

         

         

        picture of cancellation button that I want

        https://ibb.co/KVT2qpj