iOS开发常用的宏定义

#define NavigationBar_HEIGHT  44   //导航栏高度

#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)  //动态获取物理设备的宽度

#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)  //动态获取物理设备的高度

#define SAFE_RELEASE(x) [x release];x=nil  //安全释放

#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]  //获取当前设备系统版本

#define CurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])   //获取当前设备语言

#define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]  //背景色

#define SAFE_DELETE(P) if(P) { [P release], P = nil; }  //安全删除对象

#define COLOR(R, G, B, A)  [UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A] //带rgba的颜色值

#define UIColorFromRGB(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]  //rgb颜色转换(16进制转10进制)

#define CLEARCOLOR [UIColor clearColor]  //清除背景色

//警告框内容提示

#define degreesToRadian(x) (M_PI * (x) / 180.0)   //角度转弧度

#define radianToDegrees(radian) (radian*180.0)/(M_PI)  //弧度转角度

//一般的提示信息
#define mAlertView(title, msg)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:msg delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

// GCD
#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
#define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)

//----------界面設計相關-------

#define mNavBarHeight 44
#define mTabBarHeight 50

//----------設備系統相關---------
#define mRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
#define mIsiP5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136),[[UIScreen mainScreen] currentMode].size) : NO)
#define mIsiP6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334),[[UIScreen mainScreen] currentMode].size) : NO)
#define mIsiP6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208),[[UIScreen mainScreen] currentMode].size) : NO)

#define mIsPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define mIsiphone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define mIsIOS7OrLater ([mSystemVersion floatValue] >= 7.0 ? YES : NO)
#define mIsIOS8OrLater ([mSystemVersion floatValue] >= 8.0 ? YES : NO)

#define mSystemVersion ([[UIDevice currentDevice] systemVersion])
#define mDeviceOpenUDID ([OpenUDID value])
#define mDeviceModel ([[UIDevice currentDevice] model])
#define mDeviceName ([[UIDevice currentDevice] name])
#define mCurrentLanguage ([[NSLocale preferredLanguages] objectAtIndex:0])
#define mAPPVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
#define mFirstLaunch mAPPVersion //以系統版本來判斷是否第一次啓動,包括升級後啓動
#define mFirstRun @"firstRun" //判斷是否第一次運行,升級後啓動不算

原文地址:https://www.cnblogs.com/billy-chou/p/3937070.html