【问题标题】:iOS auto-layout constraintsiOS 自动布局约束
【发布时间】:2014-11-04 17:24:58
【问题描述】:

我不确定如何在 iOS 的自动布局故事板中设置一些约束。

我旁边有一个文本框和一个按钮,它们相互约束,并且它们都被约束在 20 岁时的超级视图的两侧。它适用于 iPhone/iPod。然而,移动到 iPad,文本框变得太宽。有没有办法在文本框上设置“最大宽度”以允许一些增长,并允许对超级视图的约束在该点之后增长?

感觉好像我的方法都错了,我的方法有误吗?

【问题讨论】:

    标签: ios autolayout


    【解决方案1】:

    约束

    您可以为“宽度小于或等于 X”设置约束(无论您的值 X 是多少)。

    然后将其与“到超级视图边缘的后沿空间等于 20”配对。

    冲突

    这不起作用,就好像超级视图太宽会产生冲突一样。

    优先级

    您可以做的是给“边缘空间”约束的优先级比宽度约束的优先级低 1。

    因此,如果宽度约束的优先级为 750(这是默认值),那么空间约束的优先级为 749。

    这有告诉 AutoLayout 的效果。 “如果存在冲突,则通过‘移除’空间约束并保持宽度约束来优雅地中断”。

    【讨论】:

      【解决方案2】:

      您可以设置宽度限制,并在屏幕右侧选择小于或等于(或类似的东西),而不是等于。这将为您的 UI 元素添加最大宽度。

      【讨论】:

        【解决方案3】:

        您可以添加宽度约束,可以设置具有相等值的常量,例如 100 或者您可以添加等于大于 100 或小于等于...

        【讨论】:

          【解决方案4】:

          您可以在文本字段中使用 Ctrl+Drag 来设置固定宽度。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-02-04
            • 1970-01-01
            • 2014-08-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-06-17
            相关资源
            最近更新 更多