判断 iOS 设备类型

1.在程序中涉及到全屏的宽高的时候,初始化的时候,代码中不要写320和480 

  
  
  
  
  1. #define Screen_height   [[UIScreen mainScreen] bounds].size.height 
  2. #define Screen_width    [[UIScreen mainScreen] bounds].size.width  

2.使用宏定义方法判断

  
  
  
  
  1.  #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) 
  2. if(iPhone5){ 
  3.     /*代码操作*/ 
  4. }else
  5.     /*代码操作*/ 
  6. if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){ 
  7.     //IPhone设备 
  8. }else
  9.     //ipad设备 
  10. }  

网上还有一种方法:

  
  
  
  
  1. + (NSString*)deviceString  
  2.         {  
  3.             // 需要#import "sys/utsname.h"  
  4.             struct utsname systemInfo;  
  5.             uname(&systemInfo);  
  6.             NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];                  
  7.             if ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";  
  8.             if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";  
  9.             if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";  
  10.             if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";  
  11.             if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";  
  12.             if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";  
  13.             if ([deviceString isEqualToString:@"iPhone3,2"])    return @"Verizon iPhone 4";  
  14.             if ([deviceString isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";  
  15.             if ([deviceString isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";  
  16.             if ([deviceString isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";  
  17.             if ([deviceString isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";  
  18.             if ([deviceString isEqualToString:@"iPad1,1"])      return @"iPad";  
  19.             if ([deviceString isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";  
  20.             if ([deviceString isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";  
  21.             if ([deviceString isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";  
  22.             if ([deviceString isEqualToString:@"i386"])         return @"Simulator";  
  23.             if ([deviceString isEqualToString:@"x86_64"])       return @"Simulator";  
  24.             NSLog(@"NOTE: Unknown device type: %@", deviceString);  
  25.             return deviceString;  
  26.         } 

你可能感兴趣的:(ios,iphone4,iPhone5)