【问题标题】:Inequality Constraint Ambiguity不等式约束歧义
【发布时间】:2014-04-11 19:45:13
【问题描述】:

我在使用自动布局和约束调整 UIView 大小时遇到​​问题。 我想更改原点(小于或等于原始值)和宽度(大于或等于原始值),但我得到了:不等式约束歧义

你有解决这个问题的想法吗?

谢谢

【问题讨论】:

    标签: ios objective-c ios7 constraints autolayout


    【解决方案1】:

    我尝试为 3.5" 显示器缩小 1 个以上的垂直间距约束,因此我必须在想要在较小屏幕上缩小的组件之间设置 2 个约束。一个约束是我指定最小值的不等式(大于或等于)所需大小,优先级为1000,其他约束为等式约束,特定大小适用于4英寸屏幕,但优先级较低,为250。

    这样 Xcode 不再抱怨,布局在较小的屏幕上正确重新定位。

    【讨论】:

    • 你救了我的命!这是一个需要注意的非常微妙的问题!
    • 哇,太疯狂了!这太棒了!
    【解决方案2】:

    您的视图在水平方向上是模棱两可的。您没有足够的水平约束信息让系统只为您的视图层次结构提供一种解决方案。在这种情况下,它无法根据当前的约束信息确定视图大小需要什么。

    您需要在视图的宽度上添加一个小于要求的优先级 (或者,给它一个定义的宽度或者添加一个等式约束到你的左边距约束。通过使新约束的优先级 another question,与您的不平等有关。

    根据您是否将新约束添加到视图的宽度或视图的左边距,视图的大小会有所不同。这一切都取决于您希望布局如何响应更改。

    【讨论】:

    • 嗨 larsacus,感谢您的快速回复。我已经尝试过你的建议,但它不起作用:(这是我的项目:mega.co.nz/…你能帮我吗?谢谢
    • 你到底尝试了什么?
    【解决方案3】:

    这对编译器(和逻辑上)没有意义,因为无法知道程序是否应该更改 x 或宽度。制作两个静态之一将解决您的问题。

    【讨论】:

      【解决方案4】:

      首先你必须知道你想用约束做什么,请删除不会使场景具有小于等于约束的大于等于约束。 buz 视图需要定义宽度约束。将优先级应用到哪个约束首先发挥作用(大于等于约束或小于等于约束)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-08
        • 2017-10-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-12
        • 2019-02-26
        • 1970-01-01
        相关资源
        最近更新 更多