美文网首页特别重视技术相关知识点
iOS 13后状态栏获取高度的方法

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

作者: 里克尔梅西 | 来源:发表于2020-11-05 11:22 被阅读0次

    由于iPhone12等机型状态栏高度不是固定的了,所以我们要动态取状态栏的高度。
    在iOS13系统,之前的StatusBar高度获取被弃用,使用UIStatusBarManager来获取StatusBar的状态和属性,由于状态栏高度一般宏定义,所以使用工具类声明方法获取高度,宏定义时调用工具类方法获取,易读性高。

    + (CGFloat)getStatusBarHight {
       float statusBarHeight = 0;
       if (@available(iOS 13.0, *)) {
           UIStatusBarManager *statusBarManager = [UIApplication sharedApplication].windows.firstObject.windowScene.statusBarManager;
           statusBarHeight = statusBarManager.statusBarFrame.size.height;
       }
       else {
           statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height;
       }
       return statusBarHeight;
    }
    
    // 状态栏高度
    #define kStatusBarHeight [ZXKHelpTools getStatusBarHight]
    

    相关文章

      网友评论

        本文标题:iOS 13后状态栏获取高度的方法

        本文链接:https://www.haomeiwen.com/subject/kieovktx.html