【问题标题】:LaunchScreen.storyboard not taking full height on iPhone XLaunchScreen.storyboard 在 iPhone X 上没有占据全部高度
【发布时间】:2019-03-06 19:38:55
【问题描述】:

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

故事板设置:

在我的图标/启动设置中使用它:

我在手机上看到的,记住状态栏被切断了……也许这与它有关?

【问题讨论】:

  • 这与 Swift 编程语言无关。请不要使用不恰当的标签。
  • @rmaddy 可以通过swift控制。
  • 不,不是。没有与启动屏幕故事板关联的代码。你的问题并没有问任何关于 Swift 的问题。
  • 您的启动屏幕似乎没有使用 iPhone X 所需的安全区域。仔细检查后,它显示“在最新的 Xcode (9.0) 中打开”,这表明您是没有使用正确版本的 Xcode。在任何情况下,iOS 都会对您的应用进行信箱处理,因为它认为您没有针对最新版本的 iOS SDK 构建。
  • 你需要添加约束。到目前为止,白色视图仅匹配故事板中的画布大小(即 iPhone 8 的大小)。将前导、尾随、顶部和底部边缘约束到超级视图。

标签: ios uistoryboard iphone-x


【解决方案1】:

A) 如果您只是从情节提要中制作此内容

  1. 如果你想要它全屏并在安全区域上方,你绝对应该使用Safe Area,并将你的margins/leading/trailing设置为superview而不是安全区域。

  2. 如果您想尊重安全区域,只需将页边距/前导/尾随设置为安全区域即可。

B) 如果您以编程方式从 Swift 设置启动画面 (发布代码以清楚了解您的情况)

  1. 如果您正在创建视图,然后将其附加到窗口或 ViewController 视图,只需在此处发布一些代码即可。

  2. 如果要将view(启动画面)programmatically 添加到Storyboard 中的视图中,则只需调整情节提要中的视图以具有顶部/底部边距(或vertical spacing)与SuperviewTOPBOTTOM 相关,与Safe Area 无关(如果您想要全屏高度)。

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

如果您在 storyboard 中工作,我建议您将预览更改为 View as: iPhone X 而不是 iPhone 8 作为您的屏幕截图,以便实时查看您的更改。同时发布一些带有 Size Inspector 设置的 SplashScreen 屏幕截图。

【讨论】:

    【解决方案2】:

    如果您之前将 Constraints 设置为相对于 SafeArea View 的 0、0、0、0,请转到左侧的 ViewController

    并一一选择约束。在右侧面板上,选择尺寸检查器: 选择 Second Item 并使其与 Superview 相关。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-25
        • 2018-01-12
        • 1970-01-01
        • 2022-01-10
        • 2015-11-26
        • 1970-01-01
        • 2023-01-15
        • 2018-11-05
        相关资源
        最近更新 更多