Xcode - iPad上的限制 - 横向与人像

时间:2016-05-10 23:14:22

标签: ios xcode swift ipad autolayout

我似乎无法弄清楚约束和自动布局。在横向和纵向时,如何在iPad上使两个对象之间的间距不同。

我和UIViews并排放置。在肖像时,我希望它们之间的间距为40,但在横向时它可以更大,因为有更多的宽度。

这是肖像模式下的样子。我很满意。 Portrait

这里是景观。正如你所看到的那样,它似乎也不会填满整个屏幕,最终会出现很多空白空间。 Landscape

有什么建议吗?谢谢!

4 个答案:

答案 0 :(得分:2)

您可以单击约束值旁边的小+图标,然后为另一个尺寸类选择不同的值。

或者您可以根据方向更改代码中的约束值。

或者您可以添加具有较低优先级的额外约束,然后在横向模式下增加优先级。

答案 1 :(得分:0)

不是给间距约束一个像40这样的常量值,而是使它成为比例宽度约束,它是安装它之间的一个视图宽度的一小部分,或者是整个超视图宽度的一小部分。 。这样,随着屏幕宽度变大(如横向),间距也会相应变宽。

答案 2 :(得分:0)

除了@Daniel Hall的回答之外,我还想指出你还可以将你拥有的两个UIView的前沿和后缘固定到父视图和彼此之间。

例如:

首先UIView:前缘10点从父视图开始,后缘40点从第二个UIView

第二个UIView:前缘40点从第一个UIView开始,后缘从父视图开始10个点

旋转设备后,应根据这些自动布局限制调整自身大小。当然,使用这种方法,您可能会冒两个UIView超出准确比例的风险,因此请明智地使用它。

答案 3 :(得分:0)

我最终不得不将它钉在底部和各自的两侧。

查看1:

  • 领先:30

  • 下图:25

观看2:

  • 追踪:30
  • 下:25

我对它们之间的空格使用了> =约束(> = 5)。如果我在任何这些约束上增加常量,则视图将重叠。这不是最好的情况,因为我在景观模式中仍然有很多空白空间,但它是我能想到的最好的空间。