当我尝试将计算器右侧的4个按钮限制在Storyboard中视图控制器的右侧时,我得到了一堆红线和冲突的约束问题。但是,我没有限制在这些按钮的右侧,当我在没有更新约束的情况下运行它时,pi,sin,cos和sqrt跟踪屏幕。当我运行它时,我也会收到一个警告:#34;无法同时满足约束条件。"顺便说一下,我正在使用Swift。
编辑:当目前没有约束告诉右边的按钮剪辑到右边墙时,我不明白如何存在冲突约束
答案 0 :(得分:2)
查看约束列表会很有帮助。记住Interface Builder中使用自动布局的项目需要4件事 - 高度,宽度,x坐标和y坐标。如果一个项目包含所有这4个项目,它会很高兴。可能是右侧其中一个视图的x坐标有两个x坐标约束,具有相同的1000优先级。
您可能根本不需要右侧的约束。此外,当你有一个红色IB约束时,建议的修复通常可以很好地使用简单的布局。 IB将显示如下的红色箭头:
然后,如果你有相互矛盾的约束,它会提示你删除这样的一些:
在您的情况下,您可能会看到“水平空间”的多个约束。
我发现自己有时会删除所有约束并重新开始。这样做将删除您在错误中添加的任何约束或意外地给出了错误的值。按钮有点看起来像一个三角体的领带战斗机。选择一个或多个按钮后,单击此按钮,然后选择“清除所有约束”:
此外,如果您希望按钮占据大部分可见区域,您可以考虑将所有按钮放在UIView中。这样您就可以定位和调整包含UIView的大小并按下按钮。