美文网首页
iOS开发之iOS13状态栏高度获取

iOS开发之iOS13状态栏高度获取

作者: HKrystal | 来源:发表于2020-05-19 22:49 被阅读0次

'statusBarFrame' is deprecated: first deprecated in iOS 13.0 - Use the statusBarManager property of the window scene instead.

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

#define KStatusBarHeight [UIhelpTools getStatusBarHight]

 + (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;
}

相关文章

网友评论

      本文标题:iOS开发之iOS13状态栏高度获取

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