Не забудьте вернуть его к исходным цветам после закрытия сборщика, если это потребуется.

у установить цвет фона панели навигации моего DocumentPicker таким же, как и в остальной части моего приложения.

    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)

не работает

Другие вещи, которые я пробовал:

использованиеUINavigationBar.appearance().backgroundColor = self.theme.navigationBarColor - не работает и выглядит как обходной путь вместо правильного способа, если он работает.

Изменить: прямо сейчас наше приложение переработано, чтобы использовать основной цвет в качестве цвета текста панели навигации и иметь тот же цвет фона, что и DocumentPicker. Ответы все равно будут оценены.

 JohnnyC12 нояб. 2017 г., 21:03
До iOS 11 вы могли сделать UINavigationBar.appearance (). BackgroundColor = UIColor.black, и все работало нормально. Это похоже на ошибку в iOS 11. Я нахожусь в затруднительном положении, когда панель навигации белая, а кнопки панели навигации (например, «Отмена») белые, поэтому они невидимы.
 Isuru18 мар. 2018 г., 06:59
@JohnnyC У меня тоже есть эта проблема.

Ответы на вопрос(1)

Это изменит цвет текста как «Отмена».

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

и это изменит цвет стрелки назад.

UIButton.appearance().tintColor = UIColor.blue

Не забудьте вернуть его к исходным цветам после закрытия сборщика, если это потребуется.

Ваш ответ на вопрос