// // YXBarTools.m // Temperature // // Created by z on 2025/1/20. // #import "YXBarTools.h" @implementation YXBarTools /// 顶部安全区高度 + (CGFloat)safeDistanceTop { if (@available(iOS 13.0, *)) { NSSet *set = [UIApplication sharedApplication].connectedScenes; UIWindowScene *windowScene = [set anyObject]; UIWindow *window = windowScene.windows.firstObject; return window.safeAreaInsets.top; } else if (@available(iOS 11.0, *)) { UIWindow *window = [UIApplication sharedApplication].windows.firstObject; return window.safeAreaInsets.top; } return 0; } /// 底部安全区高度 + (CGFloat)safeDistanceBottom { if (@available(iOS 13.0, *)) { NSSet *set = [UIApplication sharedApplication].connectedScenes; UIWindowScene *windowScene = [set anyObject]; UIWindow *window = windowScene.windows.firstObject; return window.safeAreaInsets.bottom; } else if (@available(iOS 11.0, *)) { UIWindow *window = [UIApplication sharedApplication].windows.firstObject; return window.safeAreaInsets.bottom; } return 0; } /// 顶部状态栏高度(包括安全区) + (CGFloat)statusBarHeight { if (@available(iOS 13.0, *)) { NSSet *set = [UIApplication sharedApplication].connectedScenes; UIWindowScene *windowScene = [set anyObject]; UIStatusBarManager *statusBarManager = windowScene.statusBarManager; return statusBarManager.statusBarFrame.size.height; } else { return [UIApplication sharedApplication].statusBarFrame.size.height; } } /// 导航栏高度 + (CGFloat)navigationBarHeight { return 44.0f; } /// 状态栏+导航栏的高度 + (CGFloat)navigationFullHeight { return [YXBarTools safeDistanceTop] + [YXBarTools navigationBarHeight]; } /// 底部导航栏高度 + (CGFloat)tabBarHeight { return 49.0f; } /// 底部导航栏高度(包括安全区) + (CGFloat)tabBarFullHeight { return [YXBarTools statusBarHeight] + [YXBarTools safeDistanceBottom]; } @end