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

因此,从Xcode 6开始,我们获得了Launch Screen模板的一个新的超级实用function

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

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

我知道如何使用约束使UI元素以所有分辨率为中心,但我无法弄清楚如何使我的UIImage缩放在所有分辨率上填充屏幕高度。 如果我只调整我的UIImage以填充在模拟指标中选择的当前屏幕尺寸 – 它将只填充那个,但不适用于其他屏幕尺寸..

有人能给我一些线索吗? 如何使用此启动屏幕模板使UIImage为所有分辨率填充整个屏幕?

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

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

步骤2选择新添加的UIImageView ,然后单击Interface Builder右下角的“Pin”图标。

步骤3选择所有4个边缘og将常量设置为0.这样可以确保UIImageView在每个边缘都有超级视图的0个空间点。

它看起来像这样: 在此处输入图像描述

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

你需要添加一个UIImageView来查看你的xib文件并设置约束来填充整个屏幕,例如左,右,上和下的间距等于0.(你已经提到过你可以做到这一点,因此不再有关于此的指示)

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

在此处输入图像描述

这样你的UIImageView可以拍摄图像并对其进行缩放,在填充整个内容时保持纵横比。