适配IOS 15 系统导航栏状态栏白条问题

手机更新IOS 15之后发现我们的APP的头部导航栏忽然多出来一行白条如下图所示。适配IOS 15 系统导航栏状态栏白条问题_第1张图片

这是什么所导致的呢?

  1. scrollEdgeAppearance 属性
  2. iOS15 强制适用于所有导航器

导航控制器包含导航栏和滚动视图,滚动视图的部分内容将显示在导航栏下方。当滚动内容的边缘到达该栏,UIKit将在此属性中应用外观设置。此属性的值为nil的时候,UIKit将使用standardAppearance属性中的设置,并修改为使用透明背景。当没有导航控制器管理导航栏时,UIKit将忽略此属性,并使用导航栏的标准外观。在低版本的应用程序上运行时,此属性适用于标题较大的导航栏。在iOS 15中,此属性适用于所有导航栏。

如何解决这个问题呢?

下面提供OC方法去解决这个问题

代码如下

  UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];

        [appearance configureWithOpaqueBackground];

        appearance.backgroundColor = kMainColor;

//去除导航栏下面的黑线

        appearance.shadowColor = [UIColor clearColor];

        self.navigationController.navigationBar.standardAppearance = appearance;

        self.navigationController.navigationBar.scrollEdgeAppearance=self.navigationController.navigationBar.standardAppearance;

你可能感兴趣的:(IOS,pod,ios)