UIDocumentPickerViewController – How to set the navigation bar color

I want to set the navigation bar background color of my DocumentPicker to be the same as the rest of my application.

    let filePicker = UIDocumentPickerViewController(documentTypes: ["public.content"], in: .import)
    filePicker.delegate = self
    filePicker.navigationController?.navigationBar.barTintColor = self.theme.navigationBarColor

    self.present(filePicker, animated: true, completion: nil)

doesn’t work.

  • Add “Edit in Excel” or “Edit photo” extension
  • Swift write/save/move a document file to iCloud drive
  • How to initialise UIDocumentPickerViewController with all type of UTIs
  • My app is getting crashed on UIDocumentPickerViewController
  • UIDocumentPickerViewController dismisses parent view controller
  • How to use Document Provider Extension?
  • Other things I’ve tried:

    Use UINavigationBar.appearance().backgroundColor = self.theme.navigationBarColor – doesn’t work and looks too much like a workaround instead of a proper way if it works.

    Edit:
    Right now our app is redesigned to use the primary color as navigation bar text color, and have the same background color as the DocumentPicker. Answers will still be appreciated.

    Solutions Collect From Internet About “UIDocumentPickerViewController – How to set the navigation bar color”

    This will change the color of the text like “Cancel”.

    UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName:UIColor.blue], for: .normal)
    

    and this will change the arrow back color.

    UIButton.appearance().tintColor = UIColor.blue
    

    Don’t forget to set it back to your original colors after closing the picker if it required.