我只是偶然发现了一些非常奇怪和令人费解的东西。
我在一个客户端应用程序中有代码,根据屏幕大小加载不同的图像。
我有使用当前屏幕来确定屏幕大小的代码。
在我的iPhone 6(实际设备,而不是模拟器)上,它显示的屏幕大小为320x568,即iPhone 5屏幕的大小。
如果我在iPhone 6 sim上运行完全相同的代码,屏幕大小将正确地报告为375x667。
为了去掉所有无关的细节,我刚刚用Xcode单视图项目模板创建了一个新项目。我用了Objective以防是斯威夫特的问题。我在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”设置,该值实际上是指XIB在所有设备上启动时显示的名为"LaunchScreen.xib“的XIB文件。然而,在iPhone 6上报告的屏幕大小是错误的。
我少了什么?!?
发布于 2015-04-17 23:49:16
我猜您的iPhone 6正处于缩放模式,如下所述:
https://support.apple.com/en-us/HT203073
在这种模式下,iPhone 6实际上认为它是用于显示目的的iPhone 5(并将iPhone 5大小的屏幕环境与所有应用程序进行通信)。
发布于 2015-04-27 07:44:20
您需要在项目中添加启动屏幕IPhone 6。
https://stackoverflow.com/questions/29708270
复制相似问题