1.在程序中涉及到全屏的宽高的时候,初始化的时候,代码中不要写320和480
#define Screen_height [[UIScreen mainScreen] bounds].size.height
#define Screen_width [[UIScreen mainScreen] bounds].size.width
2.使用宏定义方法判断
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
if(iPhone5){
/*代码操作*/}else{/*代码操作*/}在网上又找到另外一种方法:
+ (NSString*)deviceString{// 需要#import sys/utsname.h
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if ([deviceString isEqualToString:@iPhone1,1]) return @iPhone 1G;
if ([deviceString isEqualToString:@iPhone1,2]) return @iPhone 3G;
if ([deviceString isEqualToString:@iPhone2,1]) return @iPhone 3GS;
if ([deviceString isEqualToString:@iPhone3,1]) return @iPhone 4;
if ([deviceString isEqualToString:@iPhone4,1]) return @iPhone 4S;
if ([deviceString isEqualToString:@iPhone5,2]) return @iPhone 5;
if ([deviceString isEqualToString:@iPhone3,2]) return @Verizon iPhone 4;
if ([deviceString isEqualToString:@iPod1,1]) return @iPod Touch 1G;
if ([deviceString isEqualToString:@iPod2,1]) return @iPod Touch 2G;
if ([deviceString isEqualToString:@iPod3,1]) return @iPod Touch 3G;
if ([deviceString isEqualToString:@iPod4,1]) return @iPod Touch 4G;
if ([deviceString isEqualToString:@iPad1,1]) return @iPad;
if ([deviceString isEqualToString:@iPad2,1]) return @iPad 2 (WiFi);
if ([deviceString isEqualToString:@iPad2,2]) return @iPad 2 (GSM);
if ([deviceString isEqualToString:@iPad2,3]) return @iPad 2 (CDMA);
if ([deviceString isEqualToString:@i386]) return @Simulator;
if ([deviceString isEqualToString:@x86_64]) return @Simulator;1.在程序中涉及到全屏的宽高的时候,初始化的时候,代码中不要写320和480
#define Screen_height [[UIScreen mainScreen] bounds].size.height
#define Screen_width [[UIScreen mainScreen] bounds].size.width
2.使用宏定义方法判断
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
if(iPhone5){
/*代码操作*/}else{/*代码操作*/}在网上又找到另外一种方法:
+ (NSString*)deviceString{// 需要#import sys/utsname.h
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if ([deviceString isEqualToString:@iPhone1,1]) return @iPhone 1G;
if ([deviceString isEqualToString:@iPhone1,2]) return @iPhone 3G;
if ([deviceString isEqualToString:@iPhone2,1]) return @iPhone 3GS;
if ([deviceString isEqualToString:@iPhone3,1]) return @iPhone 4;
if ([deviceString isEqualToString:@iPhone4,1]) return @iPhone 4S;
if ([deviceString isEqualToString:@iPhone5,2]) return @iPhone 5;
if ([deviceString isEqualToString:@iPhone3,2]) return @Verizon iPhone 4;
if ([deviceString isEqualToString:@iPod1,1]) return @iPod Touch 1G;
if ([deviceString isEqualToString:@iPod2,1]) return @iPod Touch 2G;
if ([deviceString isEqualToString:@iPod3,1]) return @iPod Touch 3G;
if ([deviceString isEqualToString:@iPod4,1]) return @iPod Touch 4G;
if ([deviceString isEqualToString:@iPad1,1]) return @iPad;
if ([deviceString isEqualToString:@iPad2,1]) return @iPad 2 (WiFi);
if ([deviceString isEqualToString:@iPad2,2]) return @iPad 2 (GSM);
if ([deviceString isEqualToString:@iPad2,3]) return @iPad 2 (CDMA);
if ([deviceString isEqualToString:@i386]) return @Simulator;
if ([deviceString isEqualToString:@x86_64]) return @Simulator;
判断设备是否是 iphone5
最新推荐文章于 2019-03-13 17:59:53 发布
本文介绍了一种通过宏定义判断iPhone5的方法,并提供了获取设备具体型号的函数实现,同时给出了设置屏幕宽度和高度的建议,避免硬编码数值以确保不同设备上的良好显示效果。
259

被折叠的 条评论
为什么被折叠?



