征服 iOS 开发 iOS---Xcode 的使用@IT·互联网

iOS 开发中常用的宏定义

2017-05-25  本文已影响38人  胡胡LoL

iOS 开发中常用的一些宏定义

1.关于设置颜色

//设置颜色
①.常见的方式
#define HHGlobalBackgroundColor [UIColor colorWithRed:245/255.0 green:245/255.0 blue:245/255.0 alpha:1.0]

#define HHCommonColor [UIColor colorWithRed:152/255.0 green:158/255.0 blue:0/255.0 alpha:1.0]  
②.书写方便的宏
#define HHColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]

③.16进制RGB的颜色转换 --->推荐使用
#define HHColorFromHex(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]
使用时直接调用宏定义:后面直接传入 `0x(0~f)`
例如:[dateLabel setTextColor:ZNColorFromHex(0x989e00)];

④.随机色
#define HHRandomColor JYJColor(arc4random_uniform(256), arc4random_uniform(256), arc4random_uniform(256))

2.自定义 Log

#ifdef DEBUG
#define HHLog(...) NSLog(__VA_ARGS__)
#else
#define HHLog(...)
#endif
#define HHLogFunc HHLog(@"%s",__func__);  

//重写HHNSLog,Debug模式下打印日志和当前行数
#if DEBUG
#define HHNSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define HHNSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#endif

3.弱引用

#define HHWeakSelf __weak typeof(self) weakSelf = self

4.通知

#define HHNotiCenter [NSNotificationCenter defaultCenter]

5.UserDefault

#define HHUserDefaults [NSUserDefaults standardUserDefaults]

6.常用的宽高

#define HHScreenH [UIScreen mainScreen].bounds.size.height
#define HHScreenW [UIScreen mainScreen].bounds.size.width
#define HHScreenBounds [UIScreen mainScreen].bounds
#define HHKeyWindow [UIApplication sharedApplication].keyWindow
#define HHRootTabBarController (UITabBarController *)HHKeyWindow.rootViewController

7.OC 的框架

#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#pragma mark - 头文件
#import "xxxxxx"   //放入要用的头文件
#endif

8.沙盒路径

#define HHCaches [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]

9.

内容持续更新中,有用就拿走........顺便点个赞,谢谢大家的支持!

上一篇下一篇

猜你喜欢

热点阅读