UIImagePickerController в iOS 13: Apple отказалась от возможности настройки панели навигации?

В 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 и другие элементы панели навигации.

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

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

1 ответ

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

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

Другие вопросы по тегам