Files
keyboard/keyBoard/KeyBoardPrefixHeader.pch
2025-11-03 16:37:28 +08:00

103 lines
3.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// KeyBoardPrefixHeader.pch
// keyBoard
//
// Created by Mac on 2025/10/27.
//
#ifndef KeyBoardPrefixHeader_pch
#define KeyBoardPrefixHeader_pch
//Bugly
#define BuglyId @"5736ce7a19"
/// 三方
#import <Masonry/Masonry.h>
// 公共配置
#import "KBConfig.h"
/// 系统
#import <UIKit/UIKit.h>
#import "KBHUD.h"
#import "KBNetworkManager.h"
/// 项目
#import "UIViewController+Extension.h"
#import "BaseNavigationController.h"
#import "BaseTableView.h"
#import "BaseCell.h"
#import "KBLocalizationManager.h" // 全局多语言封装
//-----------------------------------------------宏定义全局----------------------------------------------------------/
// 通用链接Universal Links统一配置
// 仅需修改这里的域名/前缀,工程内所有使用 UL 的地方都会同步。
#define KB_UL_BASE @"https://your.domain/ul" // 替换为你的真实域名与前缀路径
#define KB_UL_LOGIN KB_UL_BASE @"/login"
#define KB_UL_SETTINGS KB_UL_BASE @"/settings"
/// 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
// 当前 KeyWindowiOS 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 */