如何确定iPhone 6+(加号)是处于标准模式还是缩放模式

时间:2014-09-24 16:23:22

标签: ios iphone ios8

我试图确定iPhone 6+是处于标准模式还是缩放模式,我找不到任何有助于确定这一点的API,到目前为止唯一指出的是手机所在的模式是nativeScale

if ([UIScreen mainScreen].nativeScale == 3.0) {
    // its in the simulator
} else if ([UIScreen mainScreen].nativeScale == 2.880000) {
    // its an iPhone 6+ in zoom mode
} else if ([UIScreen mainScreen].nativeScale == 2.6086956521739131) {
    // its an iPhone 6+ in standard mode
}

2 个答案:

答案 0 :(得分:1)

如何查看屏幕的bounds(不是nativeBounds)呢? IIRC,在缩放模式下,边界将为{375, 667},但在常规模式下,它们为{414, 736}

但是,正如评论中提到的那样..如果您使用的是AutoLayout,那么您的应用应该“只是”能够正确调整自己并且您不需要知道。

答案 1 :(得分:0)

//你可以从这里查看

CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
    NSLog(@"screnn width is ----<%f",screenWidth);



                       or


self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];


NSLog(@"screnn width is ----<%f",self.window.frame.size.width);
NSLog(@"screnn width is ----<%f",[[UIScreen mainScreen] bounds].size.height);