SceneKit场景被放在更大的屏幕上

时间:2016-02-18 21:34:03

标签: ios scenekit

将我的测试设备升级到iPhone 6s和6s Plus后,我的视图侧面(手机水平放置)时会出现信箱效果。 (我的项目只是水平方向)

这应该是视图约束的简单修复。然而,这个项目是在2年前开始的,我相信我可能已经使用Apple示例应用程序开始了。

因此,我不知道这些设置会被改变的地方。我可以轻松地更改SpriteKit叠加层以使屏幕与相应的键匹配,但由于SceneKit依赖于视图,并且由于我在这个区域缺乏知识而隐藏了视图,我不能。

1 个答案:

答案 0 :(得分:0)

TL; DR:

要避免使用letterbox,您需要提供Interface Builder启动屏幕(.xib或.storyboard)。

背景

当iPhone 5(第一个屏幕大于320x480逻辑点的屏幕)出现时,Apple提出了一种方法,让系统能够判断应用程序是否已根据屏幕尺寸构建,或者是否为“遗产”。

除了启动图像320x480(通常名为Default.png,Default @ 2x.png用于视网膜)之外,您还必须为4英寸显示器提供320x568点(640x1136像素)的额外图像。

如果系统找不到,它会假设一个“遗留”应用程序并在视图上方和下方使用黑色填充运行它,这是它的“预期”大小为320x480(因此布局没有打破)。

之后,iPhone 6和6+出现并使用固定位图图像进行发布屏幕变得越来越没有意义; Apple明智地推出了基于xib和基于故事板的启动屏幕,以支持多种屏幕尺寸(例如,使用自动布局)。

我没有亲眼看到它(因为我在获得6/6 +之前采用了发射故事板),但我认为对于desiged的应用程序发生了相同类型的信箱大多数情况下都考虑到iPhone 5 / 5s(即捆绑4英寸就绪发布图像但没有动态启动屏幕),这就是你这次发生的事情。