本文只记录 透明导航栏的Controller push 非透明导航栏时,导航出现白色背景异常的问题。
UINavigationBar、UIToolBar配置
iOS 15开始这两个属性需要用 UINavigationBarAppearance进行设置
if (@available(iOS 15.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
appearance.backgroundImage = backImage; //图片
appearance.backgroundColor = UIColor.clearColor; //背景色
appearance.shadowColor = UIColor.clearColor; //阴影
.... //等等其它属性,可以参考其他文章。
self.navigationController.navigationBar.standardAppearance = appearance;
self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
}
//Xcode13 编译时 ,为了处理透明导航栏的Controller push 非透明导航栏时,导航出现白色背景异常的问题。
//原来设置导航栏的方式不能省略。
[self.navigationController.navigationBar setBackgroundImage:backImage forBarMetrics:UIBarMetricsDefault];