UIDocumentPickerViewController - How to set the navigation bar color

一笑奈何 提交于 2019-12-03 17:17:58

问题


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.


回答1:


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.



来源:https://stackoverflow.com/questions/46316961/uidocumentpickerviewcontroller-how-to-set-the-navigation-bar-color

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!