当我在模拟器中运行我的应用时,我无法获得正确的屏幕分辨率。
我在iPhone6模式下在模拟器中运行时查询[[UIScreen mainScreen] bounds]并获得1136x640(缩放后)。
但iPhone6分辨率为1334x750。
选择其他目标设备会导致同样的问题。
如何在模拟器中确定正确的屏幕尺寸?
使用XCode版本6.4(6E35b)
我的控制台的示例输出:
ios: scale=(2)
ios: before scale, main.screen.size..................=(568,320)
ios: before scale, main.screen.preferred.mode.size...=(640,1136)
ios: before scale, application.frame.size............=(568,320)
ios: before scale, current.mode.size.................=(640,1136)
答案 0 :(得分:0)
1136x640是iPhone 5或iPhone 5s的分辨率。由于您的应用不支持iPhone 6和iPhone 6 Plus屏幕尺寸,您可能要么在模拟iPhone 5,模拟iPhone 5s或iPhone 5兼容模式下运行较新的手机。
答案 1 :(得分:0)
我注意到您在故事板中使用的固定大小是从 xxx.frame.height 和 xxx.bound.height 中读取的内容。因此,如果您在模拟指标中使用iPhone 5作为尺寸,那就是正在阅读的内容,而不是模拟器的大小。
这是一个令人烦恼的错误,我还没有找到任何解决方法。