iPhone6和iPhone6Plus 大陆已经开卖一段时间了,可以看到iPhone6的适配苹果已经给做好了,但是如果你是阅读类的软件,在你还没有真正的适配的时候,你会看到字体也会被放大,感觉不是很舒服。那么问题来了,怎么判断是iPhone6?
我当时试了一下以前判断iPhone5的方法:
[objc] view plaincopy
- [UIScreen mainScreen]
当时iPhone5的尺寸为 640*1136 我得到的信息是
[objc] view plaincopy
- // <UIScreen: 0x16582290; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x16581c60; size = 640.000000 x 1136.000000>>
我也用了相同的方法判断了iPhone6,但是我发现我得到的信息是:
[objc] view plaincopy
- // <UIScreen: 0x1456ce90; bounds = {{0, 0}, {320, 568}}; mode = <UIScreenMode: 0x1464f990; size = 640.000000 x 1136.000000>>
这个和iPhone5 没有任何区别,我想这个也许就是苹果适配的一个方法,在你没准备正式开始适配iPhone6和iPhone6 Plus的时候,苹果采用的放大的方式达到适配。
所以在你没准备真正适配的时候可以采用这种方法:
[objc] view plaincopy
- (NSString*)deviceString
{
// 需要#import "sys/utsname.h"
struct utsname systemInfo;
uname(&systemInfo);
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
return platform;
}
得到的结果是:iPhone7,2
只需要判断是iPhone7,2即可得知这是iPhone6。
至于iPhone6 Plus 是iPhone7,1所以判断是iPhone6 Plus。
方法2:当你真正的开始适配iPhone6和iPhone6 Plus的时候
用:
[objc] view plaincopy
- [UIScreen mainScreen]
来判断也就可以了。当然用上一种方法也是可以的。
iPhone6 750*1334
iPhone6 Plus 1242*2208