升级iOS15后导航栏突然变白了,向上滚动一点又变回来,是因为UINavigationController的scrollEdgeAppearance 属性。
// 静止样式
self.navigationBar.standardAppearance;
// 滚动样式
self.navigationBar.scrollEdgeAppearance;
scrollEdgeAppearance属性
在iOS15 强制适用于所有导航器
在iOS14或更低版本时,此属性只适用于使用了大标题的导航栏。
直接上适配代码:
if (@available(iOS 13.0, *)) {
UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];
[appearance configureWithOpaqueBackground];
appearance.backgroundColor = UIColorWithRGB(253, 42, 66, 1);
self.navigationController.navigationBar.tintColor = kWhiteColor;
self.navigationController.navigationBar.standardAppearance = appearance;
self.navigationController.navigationBar.scrollEdgeAppearance=self.navigationController.navigationBar.standardAppearance;
}