UIImagePickerController в iOS 13: Apple отказалась от возможности настройки панели навигации? - PullRequest
0 голосов
/ 27 мая 2020

В iOS 13 кажется, что некоторые вещи изменились в плане настройки внешнего вида панели навигации. Я хочу настроить панель навигации UIImagePickerController. Согласно рекомендациям iOS 13 код для изменения существующей панели навигации (в этом случае изменение цвета фона панели навигации UIImagePickerController на красный) будет выглядеть следующим образом:

let imagePickerViewController = UIImagePickerController()
let barAppearance = UINavigationBarAppearance()
barAppearance.configureWithDefaultBackground()
barAppearance.backgroundColor = .red
imagePickerViewController.navigationBar.standardAppearance = barAppearance
imagePickerViewController.navigationBar.scrollEdgeAppearance = barAppearance

К сожалению, это не работает. Как правило, настройка imagePickerViewController.navigationBar не влияет на внешний вид UIImagePickerController.

Единственное, что кажется работающим, - это изменение внешнего вида по умолчанию для всех UINavigationBars, например:

UINavigationBar.appearance().tintColor = .red

Но это не позволяет индивидуальную настройку и не позволяет расширять панель навигации своими UIBarButtonItems и другими элементами панели навигации.

Я знаю, что есть некоторые вопросы по StackOverflow по этому поводу topi c, но ни у одного из них нет рабочего ответа, и ни один из них не обсуждает, внесла ли Apple какие-либо изменения с точки зрения общей настраиваемости UIImagePickerController. Итак, вот мои вопросы:

  • Убрала ли Apple возможность настройки панели навигации UIImagePickerController в iOS 13?
  • Если нет, то как вы на самом деле настраиваете панель навигации UIImagePickerController в iOS 13?

1 Ответ

0 голосов
/ 10 июня 2020

Я тоже пробовал, но только UINavigationBar.appearance().tintColor = .red работает так, как вы сказали.

Часть UIImagePickerController выполняется в отдельном процессе (_UIRemoteView), может быть поэтому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...