OC使用PCH文件实现文件的引入和宏定义命令,并附上常见的宏定义命令

1.创建预编译文件:
在这里插入图片描述
2.在Build Settings中进行配置:
在这里插入图片描述
对图中所选中的内容进行更改,PrefixHeader中填入内容如下:
$(SRCROOT)/PrefixHeader.pch
3.使用cmd+B编译;
4.常用的宏定义命令:

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// Include any system framework and library headers here that should be included in all compilation units.
// You will also need to set the Prefix Header build setting of one or more of your targets to reference this file.
//常用的系统变量预编译
//App版本号
#define kAppVersionStr [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
//系统版本号
#define kSystemVersion ([[UIDevice currentDevice].systemVersion floatValue])
//判断机器是否是ipad iPhoneX,iPhone XS,iPhone XS Max,iPhone XR
//判断是否是 iPad
#define isPad ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
//判断iPhoneX
#define IS_IPHONE_X ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断iPHoneXr
#define IS_IPHONE_Xr ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(828, 1792), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断iPhoneXs
#define IS_IPHONE_Xs ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125, 2436), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断iPhoneXs Max
#define IS_IPHONE_Xs_Max ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2688), [[UIScreen mainScreen] currentMode].size) && !isPad : NO)
//判断是否是留海屏
#define IS_RETAINING_SCREEN IS_IPHONE_X || IS_IPHONE_Xr || IS_IPHONE_Xs || IS_IPHONE_Xs_Max
// 状态栏高度
#define STATUS_BAR_HEIGHT (IS_RETAINING_SCREEN ? 44.f : 20.f)
// 导航栏和状态栏高度
#define HeightForNagivationBarAndStatusBar (IS_RETAINING_SCREEN ? 88.f : 64.f)
// tabBar高度
#define TAB_BAR_HEIGHT (IS_RETAINING_SCREEN ? (49.f+34.f) : 49.f)
// home indicator
#define HOME_INDICATOR_HEIGHT (IS_RETAINING_SCREEN ? 34.f : 0.f)
//修改打印方法
#ifdef DEBUG
#   define NSLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif
//屏宽
#define UI_SCREEN_WIDTH                 ([[UIScreen mainScreen] bounds].size.width)

#define UI_SCREEN_HEIGHT                ([[UIScreen mainScreen] bounds].size.height)

//自定义变量预编译
#define App_Main_Color [UIColor colorFromHexCode:@"#07acf6"]
//配置颜色方法缩写
#define RGBA(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a];

#endif /* PrefixHeader_pch */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值