標籤:
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
NT_iOS筆記—判斷iPhone6