iOS 15适配 导航栏显示异常问题

本文只记录 透明导航栏的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];

你可能感兴趣的:(iOS 15适配 导航栏显示异常问题)