iPhone 6方向转换问题 - UIWindow对象

时间:2014-09-25 04:18:30

标签: ios iphone xcode orientation ios8

我在尝试更新项目以适应iOS8和iPhone6的变化时发现了这个问题。经过一系列的测试和调试,我不知道导致这个问题的原因。我发现的唯一线索是,在iPhone6中创建UIWindow对象时,横向,UIWindow对象具有与主屏幕不同的角度(方向)(状态栏角度)。在尝试转换UIWindow对象后,它实际上变成了一个奇怪的大小。我不知道为什么以及如何发生这种情况。非常感谢您的帮助!!

[环境]
Xcode 6.0.1 建造6A317
模拟器:iPhone 6,iPhone 6 +

[问题]
尝试将UIWindow对象调整为全屏时出现奇怪的行为(frame = [UIScreen mainScreen] .bounds)

[正常行为](确定)
1.纵向创建UIWindow对象
2.将设备转为横向
3. UIWindow对象将调整为全屏幕 4.调整大小确定

[异常行为](FAIL)
1.横向创建UIWindow对象
2. UIWindow对象大小正确,但方向错误 3.尝试变换到正确的角度(方向)后,框架原点/尺寸混乱

[测试结果]
测试模拟器:iPhone 4s,iPhone 5,iPhone 5s,iPhone 6,iPhone 6+
环境:Xcode 6.0.1,build 6A317,iOS8模拟器

Screenshots link

2 个答案:

答案 0 :(得分:5)

将项目升级到新SDK和新设备后,我遇到了完全相同的问题。

只需在项目设置中添加一个空的storyborad作为启动画面,就可以解决这个问题: enter image description here

答案 1 :(得分:0)

有同样的问题。事实证明我在UIWindow上使用CGRect调用initWithFrame,而不是像素。