使用 Launch Screen.xib 模板的真正通用 iOS 启动屏幕?

Truly universal iOS launch screen using Launch Screen.xib template?

因此,从 Xcode 6 开始,我们获得了启动屏幕模板的一个超级有用的新功能

根据它的描述,它可以帮助创建一个可以在每个 device/resolution/orientation 上正常工作的启动屏幕,我们不必再使用 Assets Catalog 为不同的分辨率制作一堆不同的屏幕。

但是...我没有找到任何有用的教程来说明如何实际使用它来为所有分辨率(仅适用于横向)使用单个图像制作单个启动屏幕。

我知道如何使用约束使 UI 元素以所有分辨率为中心,但我不知道如何使我的 UI 图像缩放以在所有分辨率下填充屏幕高度。如果我只是调整 UI 图像的大小以填充在模拟指标中选择的当前屏幕尺寸 - 它只会填充那个屏幕尺寸,但不适用于其他屏幕尺寸..

有人可以给我线索吗?如何使用此启动屏幕模板使 UI图像填满所有分辨率的整个屏幕?

如果您只是想用每个屏幕尺寸的图像填充您的启动屏幕,您可以在 UIImageView 和超级视图之间使用前导、尾随、顶部和底部约束。所以:

步骤 1 将你的 UIImageView 添加到你的 LaunchScreen.xib 并设置它应该显示的任何图像。

步骤 2 Select 您新添加的 UIImageView 并单击 Interface Builder 右下角的 "Pin" 图标。

步骤 3 Select 所有 4 条边 og 将常量设置为 0。这确保您的 UIImageView 在每条边上都有 0 个点 space 到超级视图。

看起来像这样:

也就是说,您应该考虑这是否可行。将 .xib 文件作为启动屏幕的想法实际上是为了取代必须显示全屏启动图像的需要。相反,请考虑将您的启动图像包含的任何元素放在界面构建器中。还要记住,您(不幸的是)无法将任何代码与启动屏幕 .xib 文件绑定在一起。

您需要添加一个 UIImageView 来查看您的 xib 文件并设置约束以填充整个屏幕,例如左、右、上、下间距等于 0。(你已经提到你可以这样做,因此不再有关于此的更多说明)

然后你检查你的 UIImageView,设置你想要显示的图像并选择视图 mode Aspect Fill

通过这种方式,您的 UIImageView 可以拍摄图像并将其放大,在填充整个内容的同时保持纵横比。