您的位置:首页 > 移动开发 > IOS开发

IOS开发一些方便宏的集锦

2013-10-21 11:37 288 查看
有些宏是我自己写的,有些是从别人那里摘抄的。现在汇总起来分享给大家。

#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

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

// 视图的x、y、width、height、frame

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

// navi的x、y、width、height、frame

#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.f,  86.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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Objective-C ios