#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640,960), [[UIScreen mainScreen] currentMode].size) : NO)
NSString*deviceType =[UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPhone"]){
//iPhone
}
elseif([deviceType isEqualToString:@"iPod touch"]){
//iPod Touch
}
else{
//iPad
}
使用#if:
#ifdef UI_USER_INTERFACE_IDIOM
//注意此处没有括号
//UI_USER_INTERFACE_IDIOM 是枚举类型结构体,内有
typedefenum {
#if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIUserInterfaceIdiomPhone, // iPhone and iPod touch style UI 0
UIUserInterfaceIdiomPad, // iPad style UI 1
#endif
} UIUserInterfaceIdiom;
//而UI_USER_INTERFACE_IDIOM()是定义的宏
#define UI_USER_INTERFACE_IDIOM() ([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)]?[[UIDevice currentDevice] userInterfaceIdiom]:UIUserInterfaceIdiomPhone)
#define IS_IPAD() (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
#else
#define IS_IPAD() (false)
#endif
#if UI_USER_INTERFACE_IDIOM()==0 //==UIUserInterfaceIdiomPhone
@implementationUINavigationBar(Custom height)
-(CGSize)sizeThatFits:(CGSize)size {
CGSize newSize =CGSizeMake(self.frame.size.width,44+BreadCrumbBarHeight-1);
return newSize;
}
@end
#endif
判断当前ios版本是否等于5.0
#ifdef __IPHONE_5_0
//if (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0){ float version = [[[UIDevice currentDevice] systemVersion] floatValue]; if (version >= 5.0)
{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyBoardWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil]; } #else [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyBoardWillChange:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyBoardWillChange:) name:UIKeyboardWillHideNotification object:nil]; #endif