Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

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.

like image 507
Aguragorn Avatar asked Sep 20 '17 08:09

Aguragorn


1 Answers

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.

like image 193
Developeder Avatar answered Sep 21 '22 13:09

Developeder