常用宏

http://www.cocoachina.com/bbs/read.php?tid-137317-page-1.html

#ifndef VIP_One_4_0_BTDefine_h

#define VIP_One_4_0_BTDefine_h

#pragma mark - 设备类型

#define kiPhone4     ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)

#define kiPhone5     ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

#define kiPhone6     ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO)

#define kiPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO)

#pragma mark - 设备信息

#define kIOS_VERSION    [[[UIDevice currentDevice] systemVersion] floatValue]

#define kDEVICE_MODEL   [[UIDevice currentDevice] model]

#define kIS_IPAD        ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)

#define kisRetina       ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)

#define kAPP_NAME            [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]

#define kAPP_VERSION         [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

#define kAPP_SUB_VERSION     [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]

#define kUDeviceIdentifier   [[UIDevice currentDevice] uniqueDeviceIdentifier]

#pragma mark - 常用宏定义

#define kWS(weakSelf)          __weak __typeof(&*self)weakSelf = self;

#define kSCREEN_WIDTH          ([UIScreen mainScreen].bounds.size.width)

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

#define kUSER_DEFAULT          [NSUserDefaults standardUserDefaults]

#define kNOTIFICATION_DEFAULT  [NSNotificationCenter defaultCenter]

#define kIMAGENAMED(_pointer)  [UIImage imageNamed:[UIUtil imageName:_pointer]]

#define kLOADIMAGE(file,ext)   [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]

#define kScreenWidthScaleSize           (MIN(SCREEN_WIDTH,SCREEN_HEIGHT)/320.0)

#define kScreenWidthScaleSizeByIphone6  (MIN(SCREEN_WIDTH,SCREEN_HEIGHT)/375.0)

#define kDegreesToRadian(x)         (M_PI * (x) / 180.0)

#define kRadianToDegrees(radian)    (radian*180.0)/(M_PI)

#pragma mark - ios版本判断

#define kIOS5_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"5.0"] != NSOrderedAscending )

#define kIOS6_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"6.0"] != NSOrderedAscending )

#define kIOS7_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )

#define kIOS8_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"8.0"] != NSOrderedAscending )

#pragma mark - 是否为空或是[NSNull null]

#define kNotNilAndNull(_ref)  (((_ref) != nil) && (![(_ref) isEqual:[NSNull null]]))

#define kIsNilOrNull(_ref)   (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]))

#pragma mark - 图片资源获取

#define kIMGFROMBUNDLE( X )     [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:X ofType:@""]]

#define kIMGNAMED( X )         [UIImage imageNamed:X]

#pragma mark - 颜色

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

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

#pragma mark - 定义字号

#define kFONT_TITLE(X)     [UIFont systemFontSize:X]

#define kFONT_CONTENT(X)   [UIFont systemFontSize:X]

#pragma mark - 其他

#define BINDVIEWWIDTH        (ScreenBounds.size.width * 290.0 / 320.0)

#endif



//屏幕大小

#define WIN_SIZE [UIScreen mainScreen].bounds.size

#define WIN_WIDTH [UIScreen mainScreen].bounds.size.width

#define WIN_HEIGHT [UIScreen mainScreen].bounds.size.height

#define APP_HEIGHT [UIScreen mainScreen].applicationFrame.size.height

#define IOS7LaterNavBarHeight64.0

#define UITabBarControllerHeight56.5

//-------------------打印日志-------------------------

//DEBUG模式下打印日志,当前行

#ifdef DEBUG

#define DLog(fmt, ...) NSLog((@"%s [Line %d] "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

#else

#define DLog(...)

#endif

//重写NSLog,Debug模式下打印日志和当前行数

#if DEBUG

#define NSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);

#else

#define NSLog(FORMAT, ...) nil

#endif

#define IMAGE(imagePath) [UIImage imageNamed:imagePath]

//用户头像文件保存地址

#define USER_ICON_FILE_DIR [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/UserIcon"]

//Web服务器URL 

//#define Web_Server_Base_URL @"http://192.:8080/SmartHomeServer/"

你可能感兴趣的:(常用宏)