设为首页 加入收藏

TOP

iOS 常用的宏定义(一)
2019-08-26 07:09:55 】 浏览:87
Tags:iOS 常用 定义

屏幕尺寸

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

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

手机型号

 #define kISiPhone (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

 #define kScreenMaxLength (MAX(kScreenWidth, kScreenHeight))

 #define kScreenMinLength (MIN(kScreenWidth, kScreenHeight))

#define kISiPhone5 (kISiPhone && kScreenMaxLength == 568.0)

#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
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇iOS学习——#define、const、type.. 下一篇iOS 多线程:『RunLoop』详尽总结

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目