我使用 xCode 8.1。我在 iPhone 的一列中有两个文本框(纵向模式):
如何使用自适应设计在 iPad 和 iPhone 的横向模式下以一行显示这些文本框?
放置您的文本框,如您为纵向显示的那样
假设你想Name
留在同一个地方,你只需要改变约束Surname
您应该定义了一个 TopSpace 和一个 Leading Space Surname
- 依次选择每个约束,然后单击+
旁边的按钮Installed
- 这为您提供了引入变化的选项,因此单击Add Variation
然后取消选择初始默认值。
这意味着这两个限制仅适用于纵向模式的 iPhone(紧凑型/常规
切换到横向模式,并Surname
放置在您需要的位置。应用约束 - 垂直中心Name
和前导间距。选择这两个约束,并重复创建变体的过程,但现在它们将只为 iPhone 横向创建(紧凑/紧凑)。
现在切换到 iPad,并重复您对横向执行的过程,这将创建 iPad 约束(常规/常规)
这应该是你需要的一切。如果它不起作用,或者您在情节提要中看到红线,则很可能意味着您已经Surname
为所有方向保留了一个处于活动状态的约束——同时对细节有冲突的约束——如果你找不到哪个一、删除约束重新开始:-)
这是一个屏幕截图,显示了您添加变体的位置
在 Xcode 8 中执行此操作的关键是编辑器右下方的Vary For Traits按钮。
从View as列表中选择一个 iPad,然后像对 iPad 一样设置约束。
然后选择一部 iPhone,点击Vary For Traits,然后选择width。
现在,选择 iPhone 上没有使用的任何约束,然后点击删除。这不会完全删除它们,它只是为该大小类卸载它们
然后添加 iPhone 所需的约束。这只会增加紧凑宽度尺寸类的约束
完成后,单击完成变化
等等……</p>
[ [