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

时间:2015-05-02 10:28:23

标签: ios xcode user-interface splash-screen

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

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

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

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

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

2 个答案:

答案 0 :(得分:11)

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

第1步UIImageView添加到LaunchScreen.xib并设置应显示的图片。

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

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

看起来像这样: enter image description here

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

答案 1 :(得分:8)

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

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

enter image description here

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