定位和缩放启动屏幕图像

时间:2016-01-12 18:31:37

标签: ios uiimageview autolayout interface-builder launch-screen

我想用于启动画面的图像高而窄。图像的大部分重要内容都在底部2/3,所以如果有任何东西需要剪裁,我希望它能剪掉顶部。

为了在我的启动屏幕上将其用作设备的所有尺寸和方向的图像,我想要做的是将宽度填满屏幕并将图像的底部固定到屏幕的底部。我已经尝试了“方面填充”和“宽高比适合”的各种组合以及底部(0)或底部和左侧的约束(两者都为0)。

结果总是图像没有缩放以适应宽度(它以全分辨率显示,因此它离开左边和/或右边缘),或者,如果图像被正确缩放,则图像居中垂直而不是在屏幕底部对齐。

这应该很简单,但我尽量不在我的应用程序中使用自动布局,并且不熟悉所有各种设置和约束的交互。最后,我希望缩放的图像填充设备的宽度,以及屏幕底部的图像底部。我想制作一个适用于所有设备的XIB。看似简单。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我是通过以下方式做到的:

  1. 添加可裁剪/缩放的背景图像,但不向LauchScreen.xib显示任何具体信息
  2. 为您的背景图片选择“缩放以填充”,并添加到顶部,左侧,右侧和底部屏幕边框的距离的约束(在我的示例中为0)
  3. 在屏幕上添加具有透明背景的所有其他元素,并添加所需的约束。 (在我的例子中,我只选择了centerX和世纪约束来放置标题。
  4. enter image description here

答案 1 :(得分:0)

要在我的情况下使imageview始终缩放以适合屏幕大小,关键的解决方案是设置Width的约束(最长的尺寸,如果图像的高度大于width,则可能需要将其设置为Height) imageview的宽度等于1个superview宽度。然后调整其边距-为此约束设置乘数0.8。

其他两个约束是将CenterY和CenterX对齐到Superview等于0。