iOS 13后状态栏获取高度的方法

由于iPhone12等机型状态栏高度不是固定的了,所以我们要动态取状态栏的高度。

在iOS13系统,之前的StatusBar高度获取被弃用,使用UIStatusBarManager来获取StatusBar的状态和属性,由于状态栏高度一般宏定义,所以使用工具类声明方法获取高度,宏定义时调用工具类方法获取,易读性高。

       func  getStatusBarHeight() -> CGFloat      {  

        var statusBarHeight:CGFloat = 0.0     

    if #available(iOS 13.0, *){       

          let statusBarMangager =                         UIApplication.shared.windows.first?.windowScene?.statusBarManager                                  statusBarHeight =  (statusBarMangager?.statusBarFrame.size.height)!     

    }else{         

        statusBarHeight = UIApplication.shared.statusBarFrame.size.height   

      }             

     return statusBarHeight  

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容