LaunchScreen.storyboard iPhone X 上没有全高

LaunchScreen.storyboard not taking full height on iPhone X

我正在尝试在一个新的 Xcode 项目上设置启动画面,但是无论我在 LaunchScreen.storyboard 中进行什么更改,应用程序和启动画面都永远不会占据整个高度iPhone X 屏幕。但是更改确实生效了,所以我知道这是正确的文件。

故事板设置:

在我的 icon/launch 设置中使用它:

我在 phone 上看到的,请记住状态栏被截断了...也许这与它有关?

A) 如果你只是从故事板制作这个

  1. 如果你想要全屏显示并在安全区域上方,你一定要使用 Safe Area 并将你的 margins/leading/trailing 设置为 superview 而不是安全区.

  2. 如果您想尊重安全区域,只需将您的margins/leading/trailing设置为安全区域即可。

B) 如果您以编程方式从 Swift 设置启动画面 (post代码让你的情况一目了然)

  1. 如果您正在创建视图,然后将其附加到 window 或 ViewController 视图,只需 post 此处的一些代码即可成功了。

  2. 如果您要将 view(启动画面)programmatically 添加到 Storyboard 中的视图,则只需调整故事板中的视图即可top/bottom 边距(或 vertical spacing)与 SuperviewTOPBOTTOM 有关,而不是 Safe Area 的(如果你想要一个完整的屏幕高度)。

有关更新 iPhone 中安全区域的更多信息:https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/adaptivity-and-layout/

对于未来,如果您在故事板中工作,我建议将您的预览更改为 View as: iPhone X 而不是 iPhone 8 作为您的屏幕截图,以便实时查看您的更改。还有 post 一些带有 Size Inspector 设置的 SplashScreen 截图。

无论我怎么尝试,它都不会更新。我最终只是简单地重新安装 xcode 10.1 并自行修复。我认为有些东西搞混了,因为我安装了 3 个版本的 xcode。

如果您之前将 Constraints 设置为 0, 0, 0, 0 relative to SafeArea View,请转到左侧的 ViewController

和select约束条件,一一对应。在右侧面板上,select 尺寸检查器: select 第二项并使其相对于 Superview。