IOS开发一些方便宏的集锦

有些宏是我自己写的,有些是从别人那里摘抄的。现在汇总起来分享给大家。

#define kAppDelegate ((AppDelegate *)[[UIApplication sharedApplication] delegate])

#define kAllViewHeight (kAppDelegate.window.frame.size.height-20-44)



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

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

#define NavHeight   44

//====================================================

// 用途: 软硬件检测

//====================================================

#define IS_IPHONE_5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640.f,1136.f), [[UIScreen mainScreen] currentMode].size) : NO)

#define HEIGHT_POOR (IS_IPHONE_5?88.f:0.f)

#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,960), [[UIScreen mainScreen] currentMode].size) : NO)

#define IsRetinaDisplay() [[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] ==2

#define IS_RESULT_NIL(__RESULT) (((__RESULT) && ((__RESULT).length > 0)) ? YES : NO)


#define INT_IOS_VERSION ([[[UIDevice currentDevice] systemVersion] intValue])

#define IS_IOS_5 (INT_IOS_VERSION?5:0)

#define IS_IOS_6 (INT_IOS_VERSION?6:0)

#define IS_IOS_7 (INT_IOS_VERSION?7:0)



//====================================================

// 用途: viewController里主视图的frame

//====================================================

// 视图的xywidthheightframe

#define X_FULL_SCREEN  (0.f)

#define Y_FULL_SCREEN  (0.f)

#define WIDTH_FULL_SCREEN  (320.f)

#define HEIGHT_FULL_SCREEN (416.f + HEIGHT_POOR)

#define FRAME_FULL_SCREEN CGRectMake(X_FULL_SCREEN, Y_FULL_SCREEN, WIDTH_FULL_SCREEN, HEIGHT_FULL_SCREEN)


// navixywidthheightframe

#define X_FULL_NAVI  (0.f)

#define Y_FULL_NAVI  (0.f)

#define WIDTH_FULL_NAVI  (320.f)

#define HEIGHT_FULL_NAVI (44.F)

#define FRAME_FULL_NAVI  CGRectMake(X_FULL_NAVI, Y_FULL_NAVI, WIDTH_FULL_NAVI, HEIGHT_FULL_NAVI)


#define HEIGHT_CELL_OBJ 60.f



//打印

#ifdef DEBUG

#  define DLog(...) NSLog(__VA_ARGS__)

#else

#  define DLog(...) ;

#endif


//单例

#define SINGLEINSTANCE(shared) \

static dispatch_once_t onceData; \

dispatch_once(&onceData, ^{ \

if (shared == nil) { \

shared = [[self alloc] init]; \

} \

});


//国际化

#define LOCALIZEDSTRING(string) NSLocalizedString(string, string)


//====================================================

// 用途: add

//====================================================

#define ADD_SUB_VIEW_AND_RELEASE_AT_INDEX(__SUPER_VIEW, __SUB_VIEW, __IDNEX) { [(__SUPER_VIEW) insertSubview:(__SUB_VIEW) atIndex:(__IDNEX)];  }


#define ADD_SUB_VIEW_AT_CENER(__SUPER_VIEW, __SUB_VIEW, __X, __Y) { [__SUB_VIEW setFrame:CGRectMake(((__X) != -1.f)?(__X):(((__SUPER_VIEW).frame.size.width - (__SUB_VIEW).frame.size.width) *.5f), ((__Y) != -1.f)?(__Y):(((__SUPER_VIEW).frame.size.height - (__SUB_VIEW).frame.size.height) *.5f), (__SUB_VIEW).frame.size.width, (__SUB_VIEW).frame.size.height)]; [(__SUPER_VIEW) addSubview:(__SUB_VIEW)]; }


#define ADD_SUB_VIEW_AT_ORIGIN(__SUPER_VIEW, __SUB_VIEW, __X, __Y) { [(__SUB_VIEW) setFrame:CGRectMake((__X), (__Y), (__SUB_VIEW).frame.size.width, (__SUB_VIEW).frame.size.height)]; [(__SUPER_VIEW) addSubview:(__SUB_VIEW)]; }


#define ADD_SUB_VIEW_AT_ORIGIN(__SUPER_VIEW, __SUB_VIEW, __X, __Y) { [(__SUB_VIEW) setFrame:CGRectMake((__X), (__Y), (__SUB_VIEW).frame.size.width, (__SUB_VIEW).frame.size.height)]; [(__SUPER_VIEW) addSubview:(__SUB_VIEW)]; }




//====================================================

// 用途: color

//====================================================

#define COLOR_RGBA(__R, __G, __B, __A) [UIColor colorWithRed:(__R)/255.0 green:(__G)/255.0 blue:(__B)/255.0 alpha:(__A)]

#define COLOR_RGBA_3(__RGB, __A) [UIColor colorWithRed:(__RGB)/255.0 green:(__RGB)/255.0 blue:(__RGB)/255.0 alpha:(__A)]

#define COLOR_CLEAR [UIColor clearColor]

#define COLOR_RANDOM [UIColor colorWithRed:((float)(arc4random()%255) /255.f) green:((float)(arc4random()%255) /255.f) blue:((float)(arc4random()%255) /255.f) alpha:1.f]


#define COLOR_PUR  COLOR_RGBA(243.f, 152.f,   0.f, 1.f)

#define COLOR_WISH COLOR_RGBA(  0.f, 158.f, 150.f, 1.f)

#define COLOR_LIKE COLOR_RGBA(231.f 54.f86.f, 1.f);


//项目的背景颜色

#define ALL_BACK_FROUND_COLOR clearColor



//====================================================

// 用途: size

//====================================================

#define SIZE_WITH_IMG_AT_IMGVIEW(__OBJECT, __IMG_NAME) { [__OBJECT setFrame:CGRectMake((__OBJECT).frame.origin.x, (__OBJECT).frame.origin.y, [UIImage imageNamed:__IMG_NAME].size.width, [UIImage imageNamed:__IMG_NAME].size.height)]; [__OBJECT setImage:[UIImage imageNamed:__IMG_NAME]]; }


#define SIZE_WITH_IMG_AT_BTN(__OBJECT, __IMG_NAME_N, __IMG_NAME_HL) { [__OBJECT setFrame:CGRectMake((__OBJECT).frame.origin.x, (__OBJECT).frame.origin.y, [UIImage imageNamed:__IMG_NAME_N].size.width, [UIImage imageNamed:__IMG_NAME_N].size.height)]; [__OBJECT setBackgroundImage:[UIImage imageNamed:__IMG_NAME_N] forState:UIControlStateNormal]; [__OBJECT setBackgroundImage:[UIImage imageNamed:__IMG_NAME_HL] forState:UIControlStateHighlighted]; }


#define SIZE_WITH_IMG_AT_TEXTFIELD(__OBJECT, __IMG_NAME) { [__OBJECT setFrame:CGRectMake((__OBJECT).frame.origin.x, (__OBJECT).frame.origin.y, [UIImage imageNamed:__IMG_NAME].size.width, [UIImage imageNamed:__IMG_NAME].size.height)]; }//[__OBJECT setBackground:[UIImage imageNamed:__IMG_NAME]]; }



#define FRAME(__SUPER_OBJECT, __INTVALUE) CGRectMake((__INTVALUE), (__INTVALUE), (__SUPER_OBJECT).frame.size.width -2 * (__INTVALUE), (__SUPER_OBJECT).frame.size.height -2 * (__INTVALUE))


#define ORIGIN_WITH_VIEW(__VIEW, __X, __Y) { (__VIEW).frame = CGRectMake((__X), (__Y), (__VIEW).frame.size.width, (__VIEW).frame.size.height); }


//====================================================

// 用途: font

//====================================================

#define FONT_SYS(__SIZE)      [UIFont systemFontOfSize:(__SIZE)]

#define FONT_SYS_BOLD(__SIZE) [UIFont boldSystemFontOfSize:(__SIZE)]

#define FONT_XS(__SIZE)       [UIFont fontWithName:@"Helvetica" size:(__SIZE)]

#define FONT_XS_BOLD(__SIZE)  [UIFont fontWithName:@"Helvetica-Bold" size:(__SIZE)]


//====================================================

// 用途: print

//====================================================

#define LOG_RECT(__OBJECT_VIEW) { NSLog(@"%g, %g, %g, %g", (__OBJECT_VIEW).frame.origin.x, (__OBJECT_VIEW).frame.origin.y, (__OBJECT_VIEW).frame.size.width, (__OBJECT_VIEW).frame.size.height); }



//====================================================

// 用途: 判断字符串是否为空

//====================================================

#define strIsEmpty(str) (str == nil || [str length]<1 ? YES : NO )



#define NSStringIsEqualToNull(str) [str isKindOfClass:[NSNull class]]



#define Btn_Set_Bg_Image_Normal(btn, imageName) \

[btn setBackgroundImage:\

[UIImage imageNamed:imageName]\

forState:UIControlStateNormal]


#define Btn_Set_Title_Color_Normal(btn, color) \

[btn setTitleColor:[UIColor color] forState:UIControlStateNormal]


#define Btn_Set_Bg_Image_Selected(btn, imageName) \

[btn setBackgroundImage:\

[UIImage imageNamed:imageName]\

forState:UIControlStateHighlighted]




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值