首页 文章

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

提问于
浏览
0

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

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

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

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

有什么建议?谢谢!

4 回答

  • 0

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

  • 0

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

    例如:

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

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

    旋转设备后,它应根据这些自动布局约束调整自身大小 . 当然,使用这种方法,你可能会让你的两个 UIView 超出准确的比例,所以明智地使用它 .

  • 2

    我最终不得不把它钉在底部和它们各自的两侧 .

    查看1:

    • 领先:30

    • 底部:25

    观点2:

    • 尾随:30

    • 底部:25

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

  • 0

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

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

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

相关问题