添加指引
This commit is contained in:
@@ -16,11 +16,74 @@
|
||||
/// 三方
|
||||
#import <Masonry/Masonry.h>
|
||||
|
||||
/// 系统
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
/// 项目
|
||||
#import "BaseNavigationController.h"
|
||||
#import "BaseTableView.h"
|
||||
#import "BaseCell.h"
|
||||
|
||||
|
||||
//-----------------------------------------------宏定义全局----------------------------------------------------------/
|
||||
/// UI 尺寸/设备宏
|
||||
// 屏幕尺寸
|
||||
#define KB_SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
|
||||
#define KB_SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
|
||||
#define KB_ONE_PIXEL (1.0 / [UIScreen mainScreen].scale)
|
||||
|
||||
// 基础高度
|
||||
#define KB_NAVBAR_BASE_HEIGHT 44.0
|
||||
#define KB_TABBAR_BASE_HEIGHT 49.0
|
||||
|
||||
// 当前 KeyWindow(iOS 13 场景化兼容)
|
||||
static inline UIWindow *KB_KeyWindow(void) {
|
||||
UIWindow *window = nil;
|
||||
if (@available(iOS 13.0, *)) {
|
||||
for (UIScene *scene in UIApplication.sharedApplication.connectedScenes) {
|
||||
if (scene.activationState == UISceneActivationStateForegroundActive && [scene isKindOfClass:[UIWindowScene class]]) {
|
||||
UIWindowScene *ws = (UIWindowScene *)scene;
|
||||
for (UIWindow *w in ws.windows) {
|
||||
if (w.isKeyWindow) { window = w; break; }
|
||||
}
|
||||
if (window) { break; }
|
||||
}
|
||||
}
|
||||
if (!window) { window = UIApplication.sharedApplication.windows.firstObject; }
|
||||
} else {
|
||||
window = UIApplication.sharedApplication.keyWindow;
|
||||
}
|
||||
return window;
|
||||
}
|
||||
|
||||
// Safe Area
|
||||
static inline UIEdgeInsets KB_SafeAreaInsets(void) {
|
||||
if (@available(iOS 11.0, *)) {
|
||||
UIWindow *w = KB_KeyWindow();
|
||||
return w ? w.safeAreaInsets : UIEdgeInsetsZero;
|
||||
}
|
||||
return UIEdgeInsetsZero;
|
||||
}
|
||||
|
||||
static inline CGFloat KB_SafeAreaTop(void) { return KB_SafeAreaInsets().top; }
|
||||
static inline CGFloat KB_SafeAreaBottom(void) { return KB_SafeAreaInsets().bottom; }
|
||||
|
||||
// 状态栏高度(iOS13+ 兼容)
|
||||
static inline CGFloat KB_StatusBarHeight(void) {
|
||||
if (@available(iOS 13.0, *)) {
|
||||
UIWindow *w = KB_KeyWindow();
|
||||
UIStatusBarManager *m = w.windowScene.statusBarManager;
|
||||
return m ? m.statusBarFrame.size.height : 0.0;
|
||||
} else {
|
||||
return UIApplication.sharedApplication.statusBarFrame.size.height;
|
||||
}
|
||||
}
|
||||
|
||||
// 导航栏+状态栏总高度、TabBar 高度、是否异形屏
|
||||
#define KB_STATUSBAR_HEIGHT (KB_StatusBarHeight())
|
||||
#define KB_NAV_TOTAL_HEIGHT (KB_NAVBAR_BASE_HEIGHT + KB_StatusBarHeight())
|
||||
#define KB_TABBAR_HEIGHT (KB_TABBAR_BASE_HEIGHT + KB_SafeAreaBottom())
|
||||
#define KB_IS_IPHONEX_SERIES (KB_SafeAreaBottom() > 0.0)
|
||||
|
||||
|
||||
#endif /* KeyBoardPrefixHeader_pch */
|
||||
|
||||
Reference in New Issue
Block a user