【发布时间】:2014-11-04 17:24:58
【问题描述】:
我不确定如何在 iOS 的自动布局故事板中设置一些约束。
我旁边有一个文本框和一个按钮,它们相互约束,并且它们都被约束在 20 岁时的超级视图的两侧。它适用于 iPhone/iPod。然而,移动到 iPad,文本框变得太宽。有没有办法在文本框上设置“最大宽度”以允许一些增长,并允许对超级视图的约束在该点之后增长?
感觉好像我的方法都错了,我的方法有误吗?
【问题讨论】:
标签: ios autolayout
我不确定如何在 iOS 的自动布局故事板中设置一些约束。
我旁边有一个文本框和一个按钮,它们相互约束,并且它们都被约束在 20 岁时的超级视图的两侧。它适用于 iPhone/iPod。然而,移动到 iPad,文本框变得太宽。有没有办法在文本框上设置“最大宽度”以允许一些增长,并允许对超级视图的约束在该点之后增长?
感觉好像我的方法都错了,我的方法有误吗?
【问题讨论】:
标签: ios autolayout
约束
您可以为“宽度小于或等于 X”设置约束(无论您的值 X 是多少)。
然后将其与“到超级视图边缘的后沿空间等于 20”配对。
冲突
这不起作用,就好像超级视图太宽会产生冲突一样。
优先级
您可以做的是给“边缘空间”约束的优先级比宽度约束的优先级低 1。
因此,如果宽度约束的优先级为 750(这是默认值),那么空间约束的优先级为 749。
这有告诉 AutoLayout 的效果。 “如果存在冲突,则通过‘移除’空间约束并保持宽度约束来优雅地中断”。
【讨论】:
您可以设置宽度限制,并在屏幕右侧选择小于或等于(或类似的东西),而不是等于。这将为您的 UI 元素添加最大宽度。
【讨论】:
您可以添加宽度约束,可以设置具有相等值的常量,例如 100 或者您可以添加等于大于 100 或小于等于...
【讨论】:
您可以在文本字段中使用 Ctrl+Drag 来设置固定宽度。
【讨论】: