2

我使用 xCode 8.1。我在 iPhone 的一列中有两个文本框(纵向模式): xcode 截图

如何使用自适应设计在 iPad 和 iPhone 的横向模式下以一行显示这些文本框?

4

3 回答 3

3

放置您的文本框,如您为纵向显示的那样

假设你想Name留在同一个地方,你只需要改变约束Surname

您应该定义了一个 TopSpace 和一个 Leading Space Surname- 依次选择每个约束,然后单击+旁边的按钮Installed- 这为您提供了引入变化的选项,因此单击Add Variation然后取消选择初始默认值。

这意味着这两个限制仅适用于纵向模式的 iPhone(紧凑型/常规

切换到横向模式,并Surname放置在您需要的位置。应用约束 - 垂直中心Name和前导间距。选择这两个约束,并重复创建变体的过程,但现在它们将只为 iPhone 横向创建(紧凑/紧凑)。

现在切换到 iPad,并重复您对横向执行的过程,这将创建 iPad 约束(常规/常规)

这应该是你需要的一切。如果它不起作用,或者您在情节提要中看到红线,则很可能意味着您已经Surname所有方向保留了一个处于活动状态的约束——同时对细节有冲突的约束——如果你找不到哪个一、删除约束重新开始:-)

这是一个屏幕截图,显示了您添加变体的位置

在此处输入图像描述

这是添加特定于纵向的约束后的样子 在此处输入图像描述

于 2017-01-30T14:08:14.710 回答
2

另一种方法是使用具有不同特征的堆栈视图。在界面生成器中选择两个字段,然后在右下角按堆栈按钮。

在此处输入图像描述

然后选择堆栈视图并打开属性检查器选项卡。 在此处输入图像描述

添加基于宽度的变体,并为此变体(常规宽度)将轴设置为水平。

完毕。

注意:如果您的部署目标低于 iOS 9,请不要使用堆栈视图。

于 2017-01-30T22:30:58.900 回答
0

在 Xcode 8 中执行此操作的关键是编辑器右下方的Vary For Traits按钮。

  • View as列表中选择一个 iPad,然后像对 iPad 一样设置约束。

  • 然后选择一部 iPhone,点击Vary For Traits,然后选择width

  • 现在,选择 iPhone 上没有使用的任何约束,然后点击删除。这不会完全删除它们,它只是为该大小类卸载它们

  • 然后添加 iPhone 所需的约束。这只会增加紧凑宽度尺寸类的约束

  • 完成后,单击完成变化

  • 等等……</p>

[ 紧凑的宽度][输入常规宽度]

于 2017-01-30T14:44:04.593 回答