如何使用自动布局调整情节提要的图像大小?

Posted

技术标签:

【中文标题】如何使用自动布局调整情节提要的图像大小?【英文标题】:How to size images for storyboard using auto layout? 【发布时间】:2015-03-17 22:20:38 【问题描述】:

我正在使用 Sketch 创建将在我的 Xcode 6 自动布局故事板中使用的图像。但是我无法获得正确的图像尺寸。它们总是显得太大并溢出故事板视图控制器。 Xcode 中有没有办法查看故事板期望的尺寸?有没有一种系统的方法来做到这一点...而不是反复试验?

【问题讨论】:

【参考方案1】:

Storyboard,尤其是在自动布局模式下,不需要任何尺寸 - 尺寸将取决于设备屏幕(实际上)或模拟指标(在 Xcode 的 Interface Builder 中)。

重要的是纵横比和三个资源文件的存在(三种大小 - 常规、2x 和 3x)。

您可以在此处查看维度列表: http://www.paintcodeapp.com/news/iphone-6-screens-demystified

因此,假设您要插入一个占据整个屏幕宽度的图像,并自动选择高度以保持纵横比。你可以做什么:

    在 Sketch 中创建宽度为 320、750 和 1242 像素的图像。将它们保存为 image.png、image@2x.png、image@3x.png。 在 Interface Builder (Storyboard) 中插入图像,添加宽度约束 - 与超级视图相等,而不是高度约束 - 保持纵横比。 如果图像看起来太大,Interface Builder 会抱怨预览图像与约束不匹配,您会看到一个黄色的小箭头。单击它,选择警告并再次单击 - Xcode 将提供“更新框架”。如有必要,这将正确调整图像大小。不要忘记为您的图片选择正确的缩放模式(Aspect fit?)。

此外,您可以在 Metrics 选项卡中查看模拟屏幕的当前宽度和高度。但每次您更改预览(模拟)设备类型时,这些都会改变。

【讨论】:

很棒的答案。谢谢!

以上是关于如何使用自动布局调整情节提要的图像大小?的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局时标签不会调整大小,情节提要中的约束

如何以编程方式更改使用自动布局在情节提要上创建的 UIImageView 的大小?

可重用的.xib + 可可类组件,如何在情节提要中自动调整大小和样式?

如何在 nib 中为 UIView 应用自动布局?

意外的 NSAutoresizingMaskLayoutConstraint 将 UIView 从笔尖添加到自动布局情节提要场景

如何在情节提要中使用带有一行按钮的自动布局[重复]