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
), может поэтому?