【发布时间】:2022-01-23 06:13:49
【问题描述】:
我的目标是在 iPhone 12 Pro Max 上构建和运行 Xcode SpriteKit 模板项目。我将使用 Xcode 版本 12.5 (12E262)。我过去做过很多项目,但是最近,当应用启动时,视图的框架不正确。
我将通过一个可重复的示例向您展示我的意思。
请非常小心地执行以下步骤:
- 打开您的 Xcode 应用程序
- 在菜单中选择:文件 > 新建 > 项目...
- 选择模板:iOS、游戏
- 点击“下一步”
- 将您的产品命名为“Foo”或其他简单的名称
- 点击“下一步”
- 点击“创建”
- 在菜单中选择:产品 > 目的地 > iPhone 12 Pro Max
- 在菜单中选择:产品 > 运行
- 现在,等待您的模拟器启动并瞧...
- 在菜单中选择:查看 > 进入全屏
对于那些无法查看图像的人:
我在模拟 iPhone 启动后对其进行了截图。由于我们正在运行 SpriteKit 模板项目,因此模拟器通常显示灰色背景,中间有文本“Hello World”。经过进一步检查,灰色背景的尺寸似乎并没有以最佳方式适合 iPhone。事实上,灰色背景的比例是(1.5:1),而 iPhone 12 Pro Max 的比例大约是(2.16:1),差别很大。这会导致视图上方和下方出现大的黑色矩形。好吧,这很烦人!
在文件 GameViewController.swift 中,我在第 22 行的 viewDidLoad() 方法中添加了:
print(view.frame.size, scene.size) // prints (320.0, 480.0) (750.0, 1334.0)
我注意到:
-
view.frame.size的比率不正确:480 : 320 = (1.5:1) -
scene.size的正确比例为:1334 : 750 ~ (1.78:1)
我好像找到了罪魁祸首,但我不知道如何解决它。
【问题讨论】:
-
问题:你想让scene.size和view.size一样吗?
标签: swift sprite-kit skview