美文网首页
iOS开发中常用到的宏定义

iOS开发中常用到的宏定义

作者: _源计划 | 来源:发表于2019-12-19 16:25 被阅读0次

1.屏幕宽高

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

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

2.手机型号

#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] doubleValue] >= 8.0)

3.适配相关

#define kScale_W(w) ((kScreenWidth)/375) * (w)//6为标准适配的,如果需要其他标准可以修改

#define kScale_H(h) (kScreenHeight/667) * (h)

#define kStatusBarHeight [[UIApplication sharedApplication] statusBarFrame].size.height//状态栏高度

#define kStatusBarHeight (kISiPhoneX?44:20)//状态栏高度

#define kTabBarHeight (StatusBarHeight > 20 ? 83 : 49)//标签栏高度

#define kNavBarHeight (StatusBarHeight + 44)//导航栏高度

#define kSafeAreaBottom (kISiPhoneX ? 34 : 0)//安全区高度

4.字体样式

#define kBoldFont(x) [UIFont boldSystemFontOfSize:x]

#define kFont(x) [UIFont systemFontOfSize:x]

#define kNameFont(x) [UIFont fontWithName:@"Heiti SC"size:x]

5.颜色设置

#define kRGB(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]//RGB格式

#define kRGBA(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]//RGBA格式

#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 UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue &0xFF0000) >>16))/255.0green:((float)((rgbValue &0xFF00) >>8))/255.0blue:((float)(rgbValue &0xFF))/255.0alpha:1.0]//16进制颜色

6.系统对象

#define kApplication [UIApplication sharedApplication]//APP对象 (单例对象)

#define kKeyWindow [UIApplication sharedApplication].keyWindow//主窗口 (keyWindow)

#define kUserDefaults [NSUserDefaults standardUserDefaults]//NSUserDefaults实例化

#define kNotificationCenter [NSNotificationCenter defaultCenter]//通知中心 (单例对象)

#define KPostNotification(name,obj,info) [[NSNotificationCenter defaultCenter]postNotificationName:name object:obj userInfo:info]//发送通知

#define kVersion [[[NSBundle mainBundle] infoDictionary] valueForKey:@"CFBundleShortVersionString"]//APP版本号

#define kSystemVersion [[UIDevice currentDevice] systemVersion]//系统版本号

7.简单调用

#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//强引用

#define kLoadNib(nibName) [UINib nibWithNibName:nibName bundle:[NSBundle mainBundle]]//加载xib

#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)NSInteger name

8. 获取时间

#define kCurrentYear [[NSCalendar currentCalendar] component:NSCalendarUnitYear fromDate:[NSDate date]]//获得当前的年份

#define kCurrentMonth [[NSCalendar currentCalendar] component:NSCalendarUnitMonth fromDate:[NSDate date]]//获得当前的月份

#define kCurrentDay [[NSCalendar currentCalendar] component:NSCalendarUnitDay fromDate:[NSDate date]]//获得当前的日期

#define kCurrentHour [[NSCalendar currentCalendar] component:NSCalendarUnitHour fromDate:[NSDate date]]//获得当前的小时

#define kCurrentMin [[NSCalendar currentCalendar] component:NSCalendarUnitMinute fromDate:[NSDate date]]//获得当前的分

#define kCurrentSec [[NSCalendar currentCalendar] component:NSCalendarUnitSecond fromDate:[NSDate date]]//获得当前的秒

相关文章

  • iOS开发中常用到的宏定义

    1.屏幕宽高 #define kScreenWidth [UIScreen mainScreen].bounds....

  • iOS常用宏定义

    该文章记录iOS开发中常见的宏定义 识别系统版本

  • iOS开发中常用的宏定义

    iOS开发中常用的宏定义 尺寸宏 打印宏 替换NSLog来使用,debug模式下可以打印很多方法名,行信息。 #...

  • iOS开发中常用到的宏

    大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏。

  • IOS 开发中常用宏定义

    前言:最近忙里偷闲整理了下项目中常用的宏,以备以后不时之需。 总结:文章可能存在错别字或者理解不到位的地方,欢迎挑...

  • iOS开发中常用的宏

    以下为iOS开发中常用宏: 引用:ios开发常用的宏,大家一起来收集 参考:ios开发常用的宏,大家一起来收集~

  • ios开发的宏定义

    在日常的开发中,宏的定义可以提高效率,和解决bug的速度。本人讲开发中常用到的宏列了出来,并加入了其他同仁收集的宏...

  • iOS 开发中常用的宏定义

    iOS 开发中常用的一些宏定义 1.关于设置颜色 2.自定义 Log 3.弱引用 4.通知 5.UserDefau...

  • iOS开发常用到的宏定义

    /#ifndefMacroDefinition_h #defineMacroDefinition_h //----...

  • ios拓展31-宏(define)和const的正确姿势

    在iOS开发中,经常用到宏定义,但是网上看一些博客的时候,有的说宏定义大量使用会重复拷贝,占用内存. 有的说不会...

网友评论

      本文标题:iOS开发中常用到的宏定义

      本文链接:https://www.haomeiwen.com/subject/hdiheqtx.html