XCode 8 - 根据方向更改约束

时间:2016-09-29 22:05:12

标签: objective-c xcode autolayout storyboard constraints

这是我的问题。

我有一个方形图像,不适合iPad或iPhone应用程序,因为屏幕不是正方形,所以我决定添加一个UIImageView:

当手机处于纵向位置时,我在顶部(-20)和底部(0)添加约束以填充整个屏幕,在中心对齐X并保持纵横比以使图像保持正方形,即使屏幕也是如此更大或更小,这意味着在两边我将"松散"我的形象的一部分,但没关系。

当我将手机旋转到横向位置时,屏幕显示为widder,因此我在屏幕中间看到一个方形图像,但两侧都是白色矩形。 我认为解决这个问题的方法是当它处于横向位置时我需要移除顶部和底部约束并添加一个到引线(-20)和一个到轨迹(-20),将图像居中在Y轴上并保持1 :1比率......

但我的问题是:如何为一个方向添加约束并将其更改为另一个?

什么是最好的方法?

感谢

FP

2 个答案:

答案 0 :(得分:1)

您不需要以编程方式执行此操作。我建议你让视图填充超级视图 - 每个顶部,底部,左侧和右侧都有一个约束。然后,对于Interface Builder中的UIImageView属性检查器,设置"查看模式"到Aspect Fill。

答案 1 :(得分:0)

我认为你有错误的方法。

在肖像时,你应该设置轨迹和引线约束,因为你的高度大于宽度,所以如果你设置(0)的轨迹和铅和1:1的比例,你就可以安全地适应它。也将它垂直放在容器中。

在横向上,由于宽度大于高度,您应该设置顶部和底部(0)以及比例1:1并将其水平居中放置在容器中。