iOS15解决导航条适配问题

在旧版本代码中设置导航条颜色使用的是navigationBar.barTintColor,但在iOS15上并没有生效,而且navigationBar.isTranslucent=NO也没有生效,导航条依然是透明的。

解决方案:

if (@available(iOS 15.0, *)) {
    UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
    [appearance configureWithOpaqueBackground];
    //设置导航条背景色
    appearance.backgroundColor = UIColor.whiteColor;
    //设置导航条标题颜色
    NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
    [attributes setValue:UIColor.blackColor forKey:NSForegroundColorAttributeName];
    appearance.titleTextAttributes = attributes;

    [UINavigationBar appearance].standardAppearance = appearance;
    [UINavigationBar appearance].scrollEdgeAppearance = appearance;
}
[UINavigationBar appearance].barTintColor = UIColor.whiteColor;
[UINavigationBar appearance].backgroundColor = UIColor.whiteColor;

猜你喜欢

转载自blog.csdn.net/watson2017/article/details/120435763