使用自动布局更改方向时更改内容顺序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用自动布局更改方向时更改内容顺序相关的知识,希望对你有一定的参考价值。

我想知道如何通过故事板中的Swift 4中的自动布局实现以下功能:

我有一个二次集合视图。在纵向模式下,这应该在顶部填充整个宽度并且高度等于宽度。其他控件应低于它。

在横向模式中,二次视图应位于左侧,具有横向的高度和相等的宽度,因此也是二次的。现在,其他控件应该在右边。

当然,行为恰恰相反:控制的顺序始终是顶部 - >底部,无论方向如何。但对我来说,二次收集视图尽可能填充大部分屏幕至关重要。

我怎样才能实现这种行为?

答案

我找到了答案。在XCode10中,首先设置所有约束,例如在纵向模式下。然后切换到横向模式。人们可以点击之后点击"View as: iPhone ...",一个区域会弹出一些按钮"Vary for Traits"

在对话框中,我们可以选择根据“宽度”(=横向)或“高度”(=纵向)进行变化,这意味着我们可以为我们迄今未使用的方向定义一组不同的约束。

最后,我们有两组约束,分别用于横向和纵向模式。

这个相当广泛的教程解释了更多:https://www.raywenderlich.com/492-adaptive-layout-tutorial-in-ios-11-getting-started

以上是关于使用自动布局更改方向时更改内容顺序的主要内容,如果未能解决你的问题,请参考以下文章

在片段中在运行时更改方向时更改布局而不重新创建视图

方向更改时不可见的片段

android片段在方向更改时创建了两次

避免Android在方向更改时自动重新添加我的片段

更改内容顺序时,SwiftUI MacOS 列表布局出现故障

使用 android:supportsRTL="true" 时禁用自动更改布局方向