【发布时间】:2015-01-13 07:57:46
【问题描述】:
为什么我的应用在真机上运行时看起来与模拟器不同?
我正在使用 spritekit 制作游戏。当我在 iPhone 5 模拟器中测试它时,屏幕大小和图像大小正是我想要的,但是当我在我的实际 iPhone 5 上运行程序时,图像显示太大,部分屏幕顶部和底部被截断,屏幕左右并没有一直延伸到手机的两侧——屏幕上有一个从左到右的信箱效果。
我所有的图像都以@2x 命名,因此它们应该可以在视网膜屏幕上正常工作。这是我在初始化 SKScene 时使用的与屏幕尺寸相关的代码:
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
scene.size = self.view.frame.size;
scene.scaleMode = SKSceneScaleModeAspectFill;
我已经尝试了每个可用的 SKSceneScaleModes,但它们都没有帮助 - 它们每个都只是给出看起来不正确的不同结果。我使用 AspectFill 只是因为该模式在模拟器中可以正常工作。
我也尝试过像这样调整屏幕大小,就像尝试一样,但这也无济于事:
GameScene *scene = [GameScene unarchiveFromFile:@"GameScene"];
CGRect screenRect = [[UIScreen mainScreen] bounds];
scene.size = screenRect.size;
提前致谢。
【问题讨论】:
-
注意,我的手机运行的是 ios 7,而模拟器正在模拟 ios 8。从我做的一些进一步阅读来看,这可能与问题有关。我希望该应用程序向后兼容 ios 7,所以我仍然希望解决这个问题。任何想法都非常感谢。
标签: ios objective-c sprite-kit