在 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 上有一些关于这个主题的问题,但没有一个有有效的答案,也没有一个讨论苹果是否在UIImagePickerController
. 所以这是我的问题:
- 苹果
UIImagePickerController
在 iOS 13 中是否取消了自定义导航栏的选项? - 如果没有,您如何真正自定义
UIImagePickerController
iOS 13 中的导航栏?