常用宏

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/"

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发过程中,使用的一些常用宏定义 字符串是否为空#define kStringIsEmpty(str) ([...
    goyohol阅读 5,377评论 30 85
  • ifndef MacroDefinition_h define MacroDefinition_h //-----...
    灰客阅读 368评论 0 0
  • [转自:iOS常用宏定义][http://www.cocoachina.com/ios/20161207/1831...
    MMOTE阅读 730评论 3 3
  • 琴子在高中的时候就谈恋爱了,初恋男友跟她同班,很多人都不太看好年轻的爱情,有人说太年轻,不懂得责任感,有人说小小年...
    迷糊香阅读 840评论 3 2
  • 是友人,却又不仅仅是友人,更像是家人。 ---这一世自己为自己选择的家人! 这是大兵《乖,摸摸头》里面的一句话,写...
    妮可日记阅读 985评论 0 0