ios 日常开发常用宏定义

匿名 (未验证) 提交于 2019-12-02 23:47:01
#define kFONT_SIZE(f)            [UIFont systemFontOfSize:(f)] #define kFONT_BOLD_SIZE(f)       [UIFont boldSystemFontOfSize:(f)] #define kFONT_ITALIC_SIZE(f)     [UIFont italicSystemFontOfSize:(f)] #define kRGBCOLOR(r,g,b)         [UIColor colorWithRed:(r)/255.f green:(g)/255.f blue:(b)/255.f alpha:1.f] #define kRGBACOLOR(r,g,b,a)      [UIColor colorWithRed:(r)/255.f green:(g)/255.f blue:(b)/255.f alpha:(a)] #define kRandomColor             [UIColor colorWithRed:arc4random_uniform(256)/255.0 green:arc4random_uniform(256)/255.0 blue:arc4random_uniform(256)/255.0 alpha:1.0] #define kColorWithHex(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] ///=============================================================================  #pragma mark - 图片加载 // 加载图片 #define kGetImage(imageName)                        [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]] // 读取本地图片 (文件名,后缀名) #define kGetBundleImage(__FILENAME__,__EXTENSION__) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:__FILENAME__ ofType:__EXTENSION__]] ///=============================================================================  #pragma mark - 控制台打印 #ifdef DEBUG #define kLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]); #else #define NSLog(FORMAT, ...) nil #endif ///=============================================================================  #pragma mark - 判断数据是否为空 // 字符串是否为空 #define kISNullString(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO ) // 数组是否为空 #define kISNullArray(array) (array == nil || [array isKindOfClass:[NSNull class]] || array.count == 0 ||[array isEqual:[NSNull null]]) // 字典是否为空 #define kISNullDict(dic) (dic == nil || [dic isKindOfClass:[NSNull class]] || dic.allKeys == 0 || [dic isEqual:[NSNull null]]) // 是否是空对象 #define kISNullObject(_object) (_object == nil \ || [_object isKindOfClass:[NSNull class]] \ || ([_object respondsToSelector:@selector(length)] && [(NSData *)_object length] == 0) \ || ([_object respondsToSelector:@selector(count)] && [(NSArray *)_object count] == 0)) ///=============================================================================  #pragma mark - Application相关 // APP对象 (单例对象) #define kApplication         [UIApplication sharedApplication] // APP对象 #define kAppDelegate         (AppDelegate*)[[UIApplication sharedApplication] delegate] // 主窗口 (keyWindow) #define kKeyWindow           [UIApplication sharedApplication].keyWindow // NSUserDefaults实例化 #define kUserDefaults        [NSUserDefaults standardUserDefaults] // 通知中心 (单例对象) #define kNotificationCenter  [NSNotificationCenter defaultCenter] //获取temp #define kPathTemp            NSTemporaryDirectory() //获取沙盒 Document #define kPathDocument        [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject] //获取沙盒 Cache #define kPathCache           [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject] ///=============================================================================  #pragma mark - 屏幕坐标、尺寸相关 // 判断是否iPhone X #define kIS_iPhoneX             UIApplication.sharedApplication.statusBarFrame.size.height > 20 : YES : NO // 屏幕高度 #define kScreenHeight           [[UIScreen mainScreen] bounds].size.height // 屏幕宽度 #define kScreenWidth            [[UIScreen mainScreen] bounds].size.width // 状态栏高度 #define kStatusBarHeight        UIApplication.sharedApplication.statusBarFrame.size.height // 顶部导航栏高度 #define kNavigationBarHeight    44.f // 状态栏高度 + 顶部导航栏高度 #define kSafeAreaTopHeight      UIApplication.sharedApplication.statusBarFrame.size.height + 44 // 底部安全距离 #define kSafeAreaBottomHeight   (IS_iPhoneX ? 34.f : 0.f) // Tabbar高度 #define kTabbarHeight           49.f  // 控件尺寸比例 #define kScreenWidthRate        ([[UIScreen mainScreen] bounds].size.width/375.f) // 实际宽尺寸 #define kSuitWidthSize(size)    kScreenWidthRate * (size) // 控件尺寸比例 #define kScreenHeightRate       ([[UIScreen mainScreen] bounds].size.height/667.f) // 实际高尺寸 #define kSuitHeightSize(size)   kScreenHeightRate * (size) ///=============================================================================  #pragma mark - 强弱引用 #define kWeakSelf(type)  __weak typeof(type) weak##type = type; #define kStrongSelf(type)  __strong typeof(type) type = weak##type; 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!