【发布时间】:2015-07-23 17:20:33
【问题描述】:
我的目标:
- 图像的宽度 == 屏幕的宽度。
- 纵横比保持不变,因此高度会自动调整。
- UIImageView 的高度 == 子图像的高度。 (您将在下面看到当前无法正常工作的内容)
我正在使用 XCode 6,AutoLayout 约束故事板来完成这个。
查看以下 2 个屏幕截图,了解 (1) 应用当前的外观以及 (2) 我需要修复的内容。
正如您在屏幕截图左侧看到的那样,我的故事板已选择图像视图。
- imageview 的宽度覆盖了屏幕的宽度
- 我已将背景颜色设置为黑色,这样您就可以看到 imageview 如何拉伸它的高度。
- 查看屏幕截图的最右侧,查看到目前为止我设置的 3 个约束。前两个是为了适应屏幕上的图像视图,最后一个是确保它位于导航栏下方。很正常的约束。
到目前为止,看截图,我的前 2 个目标是满意的。图像的宽度是屏幕的宽度(您可以在屏幕截图中的 iPhone 4 预览中看到),并且纵横比保持不变。
现在,这就是我遇到的问题......
如何消除图像上方和下方的黑色空间?黑色来自图像视图。 我希望图像视图的高度与其内部图像设置的高度相同。
我的一些猜测:
- 是否应该为每个可用的尺寸等级创建约束?因此,与其编辑 wAny 和 hAny,不如为 iPhone 设置 imageview 的高度限制,为 iPad 设置一个使用其特定尺寸类的高度限制?
- 如果我删除前导和尾随约束,它似乎摆脱了黑色空间,但图像视图不再适合屏幕,因此需要约束。有没有其他方法可以让 imageview 的宽度成为屏幕的宽度,而不是使用这些约束?
【问题讨论】:
标签: ios uiimageview autolayout nslayoutconstraint ios-autolayout