常用全局宏定义

定义了一些常用的宏,写代码的时候用起来挺方便的,添加了pch文件,设置了相对路径;
设置pch文件相对路径的方法:
设置PCH的相对路径
要想设置PCH的相对路径,首先我们需要去查看绝对路径。
相对路径
点击PCH文件,Xcode的右侧会显示PCH的属性。这里我们可以获取到PCH的绝对路径。从工程的路径开始,前面使用$(SRCROOT)代替,即为PCH的相对路径。
设置相对路径
在Xcode的target配置中,在Build Setting中找到Prefix Header,将修改后得到的相对路径添加到其中,并将Precompile Prefix Header的值设置为YES。
运行工程,PCH相对路径设置成功。

// Created by 蜗牛 on 16/8/22.
// Copyright © 2016年 *关于蜗牛:一枚九零后码农 蜗牛-----QQ:3197857495-----李富棚 个人微信:woniu1308822159 微信公众号:woniuxueios 简书:蜗牛学IOS 地址:http://www.jianshu.com/users/a664a9fcb096/latest_articles 简书专题:蜗牛学IOS 地址:http://www.jianshu.com/collection/bfcf49bf5d27 蜗牛 */. All rights reserved.
//

ifndef MacroDefinition_h

define MacroDefinition_h

//************************ 获取设备屏幕尺寸**********************************************

//宽度

define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width

//高度

define SCREEN_HEIGHT [UIScreen mainScreen].bounds.size.height

//大小

define SCREEN_SIZE [UIScreen mainScreen].bounds.size

//************************ 获取设备屏幕尺寸**********************************************

//************************ 试图的最大(小)X,Y 试图 的 高度和宽度****************************
//试图的最大(小)X,Y 试图 的 高度和宽度

define GMXX(view) CGRectGetMaxX((view).frame)

define GMXY(view) CGRectGetMaxY((view).frame)

define GMIX(view) CGRectGetMinX((view).frame)

define GMIY(view) CGRectGetMinY((view).frame)

define GVH(view) CGRectGetHeight((view).frame)

define GVW(view) CGRectGetWidth((view).frame)

//************************ 试图的最大(小)X,Y 试图 的 高度和宽度****************************

//************************ 设备大小*****************************************************
//最大的屏幕长度

define SCREEN_MAX_LENGTH (MAX(SCREEN_WIDTH, SCREEN_HEIGHT))

//最小屏幕长度

define SCREEN_MIN_LENGTH (MIN(SCREEN_WIDTH, SCREEN_HEIGHT))

//iphone4/4s最大屏幕长度

define ISIPHONE4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)

//iphone5最大屏幕长度

define ISIPHONE5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)

//iphone6最大屏幕长度

define ISIPHONE6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)

//iphone6P最大屏幕长度

define ISIPHONE6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)

define ISIOS7_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.99)

define IS_OS_8_OR_LATER ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

pragma mark - ViewSize

define ScreenWidth (ISIPHONE6P? 414:(ISIPHONE6? 375:320))

define ScreenHeight (ISIPHONE6P? 736:(ISIPHONE6? 667:(ISIPHONE5? 568:480)))

define NavHeight 44

define StateHeight 20

//************************ 设备大小*****************************************************

//************************ 支持横屏宏定义************************************************

//横屏的宽度

define SCREEN_CROSS_WIDTH ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)]?[UIScreen mainScreen].nativeBounds.size.width/[UIScreen mainScreen].nativeScale:[UIScreen mainScreen].bounds.size.width)

//横屏的高度

define SCREENH_CROSS_HEIGHT ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)]?[UIScreen mainScreen].nativeBounds.size.height/[UIScreen mainScreen].nativeScale:[UIScreen mainScreen].bounds.size.height)

//横屏的大小

define SCREEN_CROSS_SIZE ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)]?CGSizeMake([UIScreen mainScreen].nativeBounds.size.width/[UIScreen mainScreen].nativeScale,[UIScreen mainScreen].nativeBounds.size.height/[UIScreen mainScreen].nativeScale):[UIScreen mainScreen].bounds.size)

//************************ 支持横屏宏定义************************************************

//************************ 判断当前的设备/系统版本*****************************************

//判断是否为iPhone

define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

//判断是否为iPad

define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

//判断是否为ipod

define IS_IPOD ([[[UIDevice currentDevice] model] isEqualToString:@"iPod touch"])

// 判断是否为 iPhone 5SE

define iPhone5SE [[UIScreen mainScreen] bounds].size.width == 320.0f && [[UIScreen mainScreen] bounds].size.height == 568.0f

// 判断是否为iPhone 6/6s

define iPhone6_6s [[UIScreen mainScreen] bounds].size.width == 375.0f && [[UIScreen mainScreen] bounds].size.height == 667.0f

// 判断是否为iPhone 6Plus/6sPlus

define iPhone6Plus_6sPlus [[UIScreen mainScreen] bounds].size.width == 414.0f && [[UIScreen mainScreen] bounds].size.height == 736.0f

//获取系统版本

define IOS_SYSTEM_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]

//判断 iOS 8 或更高的系统版本

define IOS_VERSION_8_OR_LATER (([[[UIDevice currentDevice] systemVersion] floatValue] >=8.0)? (YES):(NO))

//************************ 判断当前的设备/系统版本*****************************************

//************************ 判断是真机还是模拟器********************************************

if TARGET_OS_IPHONE

//iPhone Device

endif

if TARGET_IPHONE_SIMULATOR

//iPhone Simulator

endif

//************************ 判断是真机还是模拟器********************************************

//************************ 获取通知中心**************************************************

define LFPNotificationCenter [NSNotificationCenter defaultCenter]

//************************ 获取通知中心**************************************************

//************************ 设置颜色******************************************************

//随机RGB颜色

define LFPRandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0]

//设置RGB颜色

define RGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]

//设置RGBA颜色

define RGBAColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(r)/255.0 blue:(r)/255.0 alpha:a]

// rgb颜色转换(16进制->10进制)

define RGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

// clear背景颜色(清除背景色)

define ClearColor [UIColor clearColor]

//红色背景色

define RED_Color [UIColor redColor]

//绿色背景色

define GREEN_Color [UIColor greenColor]

//黑色背景色

define BLACK_Color [UIColor blackColor]

//白色背景色

define WHITE_Color [UIColor whiteColor]

//灰色背景色

define GRAY_Color [UIColor grayColor]

//深灰色

define DARK_GRAY [UIColor darkGrayColor]

//浅灰色

define LIGHT_GRAY [UIColor lightGrayColor]

//青色

define CYAN_GRAY [UIColor cyanColor]

//黄色

define YELLOW_GRAY [UIColor yellowColor]

//品红色

define MAGENTA_GRAY [UIColor magentaColor]

//橙色

define ORANGE_GRAY [UIColor orangeColor]

//紫色

define PURPLE_GRAY [UIColor purpleColor]

//布朗色

define BROWN_GRAY [UIColor brownColor]

//蓝色

define BLUE_GRAY [UIColor blueColor]

//************************ 设置颜色******************************************************

//************************ NSUserDefaults 实例化 取值************************************

define USERDEFAULT [NSUserDefaults standardUserDefaults]

define USERDEFAULT_value(key) [[NSUserDefaults standardUserDefaults] valueForKey:key]

define USERDEFAULT_object(key) [[NSUserDefaults standardUserDefaults] objectForKey:key]

define USERDEFAULT_BOOL(key) [[NSUserDefaults standardUserDefaults] boolForKey:key]

define USERDEFAULT_integer(key) [[NSUserDefaults standardUserDefaults] integerForKey:key]

define USERDEFAULT_int(key) [[[NSUserDefaults standardUserDefaults] objectForKey:key] intValue]

//************************ NSUserDefaults 实例化 取值************************************

//************************ NSUserDefaults 实例化 存值************************************

//NSUserDefaults 实例化 存值
// object

define USERDEFAULT_SET_value(value,key) [[NSUserDefaults standardUserDefaults] setValue:value forKey:key];\

[[NSUserDefaults standardUserDefaults] synchronize]

define USERDEFAULT_SET_object(object,key) [[NSUserDefaults standardUserDefaults] setObject:object forKey:key];\

[[NSUserDefaults standardUserDefaults] synchronize]

// int

define USERDEFAULT_SET_int(int,key) NSString *uIntString=[NSString stringWithFormat:@"%d",int];\

[[NSUserDefaults standardUserDefaults] setObject:uIntString forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize]

//float

define USERDEFAULT_SET_float(float,key) NSString *uFloatString=[NSString stringWithFormat:@"%f",float];\

[[NSUserDefaults standardUserDefaults] setObject:uFloatString forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize]

define USERDEFAULT_SET_bool(bool,key) [[NSUserDefaults standardUserDefaults]setBool:bool forKey:key];\

[[NSUserDefaults standardUserDefaults] synchronize];

//************************ NSUserDefaults 实例化 存值************************************

//************************ 自定义高效率的 NSLog*******************************************

if DEBUG

define NSLog(FORMAT, ...) fprintf(stderr,"---[方法名:%s]\n---[行号:%d]\n---打印内容:\n%s\n",FUNCTION, LINE,[[NSString stringWithFormat:FORMAT, ##VA_ARGS] UTF8String]);

else

define NSLog(FORMAT, ...) nil

endif

//************************ 自定义高效率的 NSLog*******************************************

/*
字体
*/

define Font(F) [UIFont systemFontOfSize:(F)]

/*
弱引用/强引用
*/
//弱引用

define WeakSelf(type) __weak typeof(type) weak##type = type;

//强引用

define StrongSelf(type) __strong typeof(type) type = weak##type;

//************************ 设置 view 圆角和边框*******************************************
/*
设置 view 圆角和边框
*/

define ViewBorderRadius(View, Radius, Width, Color,Bounds)\


[View.layer setCornerRadius:(Radius)];
[View.layer setMasksToBounds:(Bounds)];
[View.layer setBorderWidth:(Width)];
[View.layer setBorderColor:[Color CGColor]]

//************************ 设置 view 圆角和边框*******************************************

//************************ 由角度转换弧度 由弧度转换角度***********************************

define DegreesToRadian(x) (M_PI * (x) / 180.0)

define RadianToDegrees(radian) (radian*180.0)/(M_PI)

//************************ 由角度转换弧度 由弧度转换角度***********************************

//************************ 获取图片资源*************************************************
//获取图片资源

define kGetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]]

//************************ 获取图片资源*************************************************

//************************ 获取当前语言与地区********************************************
//获取当前语言与地区

define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])

//************************ 获取当前语言与地区********************************************

//************************ GCD 的宏定义************************************************

//GCD - 一次性执行

define kDISPATCH_ONCE_BLOCK(onceBlock) static dispatch_once_t onceToken; dispatch_once(&onceToken, onceBlock);

//GCD - 在Main线程上运行

define kDISPATCH_MAIN_THREAD(mainQueueBlock) dispatch_async(dispatch_get_main_queue(), mainQueueBlock);

//GCD - 开启异步线程

define kDISPATCH_GLOBAL_QUEUE_DEFAULT(globalQueueBlock) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), globalQueueBlocl);

//************************ GCD 的宏定义************************************************

pragma mark - localFont

/*font
Font18: 标准字36px18sp/18pt导航标题、文章标题、重要突出词句
Font16: 标准字32px16sp/16pt用户姓名、列表文章标题、分类栏目、模块名称、按钮文字等
Font14: 标准字28px14sp/14pt长段描述文字、非标题文字、文章正文、提示性文字等
Font12: 标准字24px12sp/12pt次要描述文字、小副标题、 次要提示、标签文字等
Font10: 标准字20px10sp/10pt标签栏名称、次要长段描述或提示文字
*/

define Font(F) [UIFont systemFontOfSize:(F)]

define FontBold(F) [UIFont boldSystemFontOfSize:(F)]

define Font20 [UIFont fontWithName:@"Helvetica" size:20]

define Font20Bold [UIFont fontWithName:@"Helvetica-Bold" size:20]

define Font19 [UIFont fontWithName:@"Helvetica" size:19]

define Font19Bold [UIFont fontWithName:@"Helvetica-Bold" size:19]

define Font18 [UIFont fontWithName:@"Helvetica" size:18]

define Font18Bold [UIFont fontWithName:@"Helvetica-Bold" size:18]

define Font17 [UIFont fontWithName:@"Helvetica" size:17]

define Font17Bold [UIFont fontWithName:@"Helvetica-Bold" size:17]

define Font16 [UIFont fontWithName:@"Helvetica" size:16]

define Font16Bold [UIFont fontWithName:@"Helvetica-Bold" size:16]

define Font15 [UIFont fontWithName:@"Helvetica" size:15]

define Font15Bold [UIFont fontWithName:@"Helvetica-Bold" size:15]

define Font14 [UIFont fontWithName:@"Helvetica" size:14]

define Font14Bold [UIFont fontWithName:@"Helvetica-Bold" size:14]

define Font13 [UIFont fontWithName:@"Helvetica" size:13]

define Font13Bold [UIFont fontWithName:@"Helvetica-Bold" size:13]

define Font12 [UIFont fontWithName:@"Helvetica" size:12]

define Font12Bold [UIFont fontWithName:@"Helvetica-Bold" size:12]

define Font10 [UIFont fontWithName:@"Helvetica" size:10]

define Font10Bold [UIFont fontWithName:@"Helvetica-Bold" size:10]

define FontTitleNormal [UIFont fontWithName:@"Helvetica-Bold" size:15]

define FontPromptNormal [UIFont fontWithName:@"Helvetica" size:14]

endif /* MacroDefinition_h */

http://code.cocoachina.com/view/132637

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容