iPhone 6/iOS 8.3 的屏幕尺寸错误?
Screen size is wrong on iPhone 6/iOS 8.3?
我刚刚偶然发现了一些非常奇怪和莫名其妙的东西。
我在客户端应用程序中有代码可以根据屏幕尺寸加载不同的图像。
我有使用当前屏幕确定屏幕尺寸的代码。
在我的 iPhone 6(实际设备,而非模拟器)上,它显示的屏幕尺寸为 320x568,这是 iPhone 5 屏幕的尺寸。
如果我 运行 在 iPhone 6 sim 上使用完全相同的代码,则屏幕尺寸正确报告为 375x667。
为了去除所有无关的细节,我刚刚使用 Xcode 单视图项目模板创建了一个新项目。我使用 Objective-C 以防出现 Swift 问题。我向 Xcode 创建的视图控制器添加了一个 viewWillAppear: 方法,如下所示:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIScreen *screen = [UIScreen mainScreen];
CGSize screenSize = screen.bounds.size;
_label.text =[NSString stringWithFormat:
@"Screen size = %@",
NSStringFromCGSize(screenSize)];
}
Xcode 模板应用程序设置了 info.plist "UILaunchStoryboardName" 值 "LaunchScreen",它实际上指的是一个名为 "LaunchScreen.xib" 的 XIB 文件XIB 在启动时显示在所有设备上。但是,iPhone 6 上报告的屏幕尺寸是错误的。
我错过了什么?!?
我猜你的 iPhone 6 处于缩放模式,如下所述:
https://support.apple.com/en-us/HT203073
在该模式下,iPhone 6 实际上认为它是用于显示目的的 iPhone 5(并向所有应用传达 iPhone 5 大小的屏幕环境)。
您需要在项目
中添加启动画面 IPhone 6
我刚刚偶然发现了一些非常奇怪和莫名其妙的东西。
我在客户端应用程序中有代码可以根据屏幕尺寸加载不同的图像。
我有使用当前屏幕确定屏幕尺寸的代码。
在我的 iPhone 6(实际设备,而非模拟器)上,它显示的屏幕尺寸为 320x568,这是 iPhone 5 屏幕的尺寸。
如果我 运行 在 iPhone 6 sim 上使用完全相同的代码,则屏幕尺寸正确报告为 375x667。
为了去除所有无关的细节,我刚刚使用 Xcode 单视图项目模板创建了一个新项目。我使用 Objective-C 以防出现 Swift 问题。我向 Xcode 创建的视图控制器添加了一个 viewWillAppear: 方法,如下所示:
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIScreen *screen = [UIScreen mainScreen];
CGSize screenSize = screen.bounds.size;
_label.text =[NSString stringWithFormat:
@"Screen size = %@",
NSStringFromCGSize(screenSize)];
}
Xcode 模板应用程序设置了 info.plist "UILaunchStoryboardName" 值 "LaunchScreen",它实际上指的是一个名为 "LaunchScreen.xib" 的 XIB 文件XIB 在启动时显示在所有设备上。但是,iPhone 6 上报告的屏幕尺寸是错误的。
我错过了什么?!?
我猜你的 iPhone 6 处于缩放模式,如下所述:
https://support.apple.com/en-us/HT203073
在该模式下,iPhone 6 实际上认为它是用于显示目的的 iPhone 5(并向所有应用传达 iPhone 5 大小的屏幕环境)。
您需要在项目
中添加启动画面 IPhone 6