如何在iPad的一行中设置两个文本框?

时间:2017-01-30 13:40:06

标签: ios swift xcode xcode8 adaptive-design

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

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

3 个答案:

答案 0 :(得分:3)

按照为肖像显示的方式放置文本框

假设您希望Name留在同一个地方,您只需更改Surname上的约束

您应该为Surname定义TopSpace和Leading Space - 依次选择每个约束,然后点击+旁边的Installed按钮 - 这样您就可以选择变体,请点击Add Variation,然后点击 de - 选择初始默认值。

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

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

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

这应该是你需要的一切。如果它不起作用,或者您在故事板中看到红线,则很可能意味着您已经为{strong>所有方向保留了Surname个约束之一 - 同时因为对细节有相互矛盾的约束 - 如果你找不到哪一个,删除约束并重新开始: - )

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

enter image description here

以及添加特定于肖像的约束后的样子 enter image description here

答案 1 :(得分:2)

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

enter image description here

然后选择堆栈视图并打开属性检查器选项卡。 enter image description here

根据宽度添加变体,对于此变化(常规宽度),将轴设置为水平。

完成。

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

答案 2 :(得分:0)

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

  • 查看为列表中选择一个iPad,并像设置iPad一样设置约束。

  • 然后选择一个iPhone,然后点击对特征不一致,然后选择宽度

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

  • 然后添加iPhone所需的约束。这仅为紧凑宽度大小类

  • 添加约束
  • 完成后,点击完成不同

  • et voila ...

[Compact width] [enter Regular width]