ipu的trunk版ios客户端工程

IpuMacroDefinition.h 5.0KB

    // // IpuMacroDefinition.h // WadeMobile // // Created by tony on 16/7/26. // Copyright © 2016年 asiainfo. All rights reserved. // #ifndef IpuMacroDefinition_h #define IpuMacroDefinition_h //需要横屏或者竖屏,获取屏幕宽度与高度 #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 // 当前Xcode支持iOS8及以上 #define SCREEN_WIDTH ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)]?[UIScreen mainScreen].nativeBounds.size.width/[UIScreen mainScreen].nativeScale:[UIScreen mainScreen].bounds.size.width) #define SCREENH_HEIGHT ([[UIScreen mainScreen] respondsToSelector:@selector(nativeBounds)]?[UIScreen mainScreen].nativeBounds.size.height/[UIScreen mainScreen].nativeScale:[UIScreen mainScreen].bounds.size.height) #define SCREEN_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) #else #ifndef SCREEN_WIDTH #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #endif #ifndef SCREENH_HEIGHT #define SCREENH_HEIGHT [UIScreen mainScreen].bounds.size.height #endif #ifndef SCREEN_SIZE #define SCREEN_SIZE [UIScreen mainScreen].bounds.size #endif #endif //1.获取屏幕宽度与高度 #ifndef SCREEN_WIDTH #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #endif #ifndef SCREENH_HEIGHT #define SCREENH_HEIGHT [UIScreen mainScreen].bounds.size.height #endif //2.获取通知中心 #define IPUNotificationCenter [NSNotificationCenter defaultCenter] //3.设置随机颜色 #define IPURandomColor [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0] //4.设置RGB颜色/设置RGBA颜色 #define IPURGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] #define IPURGBAColor(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(r)/255.0 blue:(r)/255.0 alpha:a] // clear背景颜色 #define IPUClearColor [UIColor clearColor] //5.自定义高效率的 NSLog #ifdef DEBUG #define IPULog(...) NSLog(@"%s line:%d \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__]) #else #define IPULog(...) #endif //6.弱引用/强引用 #define IPUWeakSelf(type) __weak typeof(type) weak##type = type; #define IPUStrongSelf(type) __strong typeof(type) type = weak##type; //7.设置 view 圆角和边框 #define IPUViewBorderRadius(View, Radius, Width, Color)\ \ [View.layer setCornerRadius:(Radius)];\ [View.layer setMasksToBounds:YES];\ [View.layer setBorderWidth:(Width)];\ [View.layer setBorderColor:[Color CGColor]] //8.由角度转换弧度 由弧度转换角度 #define IPUDegreesToRadian(x) (M_PI * (x) / 180.0) #define IPURadianToDegrees(radian) (radian*180.0)/(M_PI) //14.判断当前的iPhone设备/系统版本 //判断是否为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)) //15.判断是真机还是模拟器 #if TARGET_OS_IPHONE //iPhone Device #endif #if TARGET_IPHONE_SIMULATOR //iPhone Simulator #endif //16.沙盒目录文件 //获取temp #define kPathTemp NSTemporaryDirectory() //获取沙盒 Document #define kPathDocument [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] //获取沙盒 Cache #define kPathCache [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject] //17.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); //18.判断文件是否存在 #define file_exist(filePath) [[NSFileManager defaultManager] fileExistsAtPath:filePath] #endif /* IpuMacroDefinition_h */ /*拷贝自http://www.cocoachina.com/ios/20160713/17026.html*/