屏幕尺寸
#define kScreenWidth [UIScreen mainScreen].bounds.size.width
#define kScreenHeight [UIScreen mainScreen].bounds.size.height
手机型号
#define kISiPhone6 (kISiPhone && kScreenMaxLength == 667.0) #define kISiPhone6P (kISiPhone && kScreenMaxLength == 736.0) #define kISiPhoneX (kISiPhone && kScreenMaxLength == 812.0) #define kISiPhoneXr (kISiPhone && kScreenMaxLength == 896.0) #define kISiPhoneXX (kISiPhone && kScreenMaxLength > 811.0) #define IOS8 ([[[UIDevice currentDevice] systemVersion] doubleva lue] >= 8.0)
系统版本
#define IOS810 ([[[UIDevice currentDevice] systemVersion] doubleva lue] >= 10.0)
适配尺寸
//6为标准适配的,如果需要其他标准可以修改 #define kScale_W(w) ((kScreenWidth)/375) * (w) #define kScale_H(h) (kScreenHeight/667) * (h) //状态栏高度 #define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height //状态栏高度 #define StatusBarHeight (kISiPhoneX?44:20) //标签栏高度 #define kTabBarHeight (StatusBarHeight > 20 ? 83 : 49) //导航栏高度 #define kNavBarHeight (StatusBarHeight + 44) //安全区高度 #define kSafeAreaBottom (kISiPhoneX ? 34 : 0)
字体大小
#define kBoldFont(x) [UIFont boldSystemFontOfSize:x]
#define kFont(x) [UIFont systemFontOfSize:x]
颜色设置
//RGB格式 #define kRGB(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] //RGBA格式 #define kRGBA(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 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]
系统相关
//APP对象 (单例对象) #define kApplication [UIApplication sharedApplication] //主窗口 (keyWindow) #define kKeyWindow [UIApplication sharedApplication].keyWindow //NSUserDefaults实例化 #define kUserDefaults [NSUserDefaults standardUserDefaults] //通知中心 (单例对象) #define kNotificationCenter [NSNotificationCenter defaultCenter] //发送通知 #define KPostNotification(name,obj,info) [[NSNotificationCenter defaultCenter]postNotificationName:name object:obj userInfo:info] //APP版本号 #define kVersion [[[NSBundle mainBundle] infoDictionary] valueForKey:@"CFBundleShortVersionString"] //系统版本号 #define kSystemVersion [[UIDevice currentDevice] systemVersion]
常用设置
//加载图片 #define kGetImage(imageName) [UIImage imageNamed:[NSString stringWithFormat:@"%@",imageName]] //弱引用 #define kWeakSelf(type) __weak typeof(type) weak##type = type //强引用 #define kStrongSelf(type) __strong typeof(type) type = weak##type //安全调用Block #define kSafeBlock(blockName,...) ({!blockName ? nil : blockName(__VA_ARGS__);}) //加载xib #define kLoadNib(nibName) [UINib nibWithNibName:nibName bundle:[NSBundle mainBundle]] //字符串拼接 #define kStringFormat(format,...) [NSString stringWithFormat:format,##__VA_ARGS__] //属性快速声明(建议使用代码块) #define kPropertyString(name) @property(nonatomic,copy)NSString *name #define kPropertyStrong(type,name) @property(nonatomic,strong)type *name #define kPropertyAssign(name) @property(nonatomic,assign)N