iOS15之后发现常规方法navigationBar setBackgroundImage设置了导航栏的背景色之后并没有改变,修改方法如下
if(@available(iOS15.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
appearance.backgroundImage= [UIImage imageWithColor:kColorVipPayBG];//图片
appearance.backgroundColor=kColorVipPayBG;//背景色
appearance.shadowColor = UIColor.clearColor; //阴影
appearance.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]};//导航栏标题颜色
self.navigationController.navigationBar.standardAppearance = appearance;
self.navigationController.navigationBar.scrollEdgeAppearance = appearance;
}else{
// Fallback on earlier versions
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:kColorVipPayBG] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[TCUtils imageFromColor:kColorVipPayBG forSize:CGSizeMake(1, 1) withCornerRadius:0]];
}
网友评论