iPad如何在一行中设置两个文本框?
Posted
技术标签:
【中文标题】iPad如何在一行中设置两个文本框?【英文标题】:How can I set two textboxes in one line for iPad? 【发布时间】:2017-06-15 16:39:10 【问题描述】:我使用 xCode 8.1。 我在 iPhone 的一列中有两个文本框(纵向模式):
如何使用自适应设计在 iPad 和 iPhone 的横向模式下将这些文本框显示为一行?
【问题讨论】:
你试过尺寸等级吗?看看这个:makeapppie.com/2016/09/05/… 【参考方案1】:按照纵向显示的方式放置文本框
假设你想让Name
留在原地,你只需要改变Surname
上的约束
您应该为Surname
定义一个TopSpace 和一个Leading Space - 依次选择每个约束,然后单击Installed
旁边的+
按钮- 这为您提供了引入变化的选项,因此请单击@987654330 @ 然后de-选择初始默认值。
这意味着这两个限制仅适用于纵向模式的 iPhone(Compact/Regular
切换到横向模式,并将Surname
定位在您需要的位置。应用约束 - 使用 Name
和前导间距的垂直中心。选择这两个约束,然后重复创建变体的过程,但现在它们将只为 iPhone 横向创建(紧凑/紧凑)。
现在切换到 iPad,并重复您对横向执行的过程,这将创建 iPad 约束(常规/常规)
这应该是你需要的一切。如果它不起作用,或者您在情节提要中看到红线,则很可能意味着您已为 所有 方向保留了活动的 Surname
约束之一 - 同时具有冲突的约束具体细节 - 如果找不到哪个,请删除约束并重新开始:-)
这是一个屏幕截图,显示了您添加变体的位置
这是添加特定于纵向的约束后的样子
【讨论】:
感谢您的帮助,罗素【参考方案2】:在 Xcode 8 中执行此操作的关键是编辑器右下方的 Vary For Traits 按钮。
从 View as 列表中选择一个 iPad,然后像对 iPad 一样设置约束。
然后选择一部 iPhone,点击Vary For Traits,然后选择width。
现在,选择 iPhone 上未使用的任何约束,然后点击删除。这不会完全删除它们,它只是卸载它们针对该尺寸等级
然后添加 iPhone 所需的约束。这只会增加紧凑宽度尺寸类的约束
完成后,点击Done Varying
等等……
[[
【讨论】:
【参考方案3】:另一种方法是使用具有不同特征的堆栈视图。 选择 Interface builder 中的两个字段,然后在右下角按 Stack 按钮。
然后选择堆栈视图并打开属性检查器选项卡。
添加基于宽度的变体,并为此变体(常规宽度)将轴设置为水平。
完成。
注意:如果您的部署目标低于 ios 9,请不要使用堆栈视图。
【讨论】:
好主意!以上是关于iPad如何在一行中设置两个文本框?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 netty4 中设置 Web 套接字客户端未屏蔽模式文本框