Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode自动布局约束错误_Ios_Xcode_Swift_Autolayout - Fatal编程技术网

Ios Xcode自动布局约束错误

Ios Xcode自动布局约束错误,ios,xcode,swift,autolayout,Ios,Xcode,Swift,Autolayout,当我试图将计算器右侧的4个按钮约束到情节提要中视图控制器的右侧时,我得到了一堆红线和冲突的约束问题。但是,我在这些按钮的右侧没有设置任何约束,当我在不更新约束的情况下运行它时,pi、sin、cos和sqrt会从屏幕上消失。当我运行它时,我还收到一个警告,上面写着“无法同时满足约束条件”。顺便说一下,我正在使用Swift 编辑:我不明白当当前没有约束告诉右边缘上的按钮剪裁到右墙上时,为什么会有冲突的约束 查看您的约束列表会很有帮助。请记住,使用自动布局的Interface Builder中的一项需

当我试图将计算器右侧的4个按钮约束到情节提要中视图控制器的右侧时,我得到了一堆红线和冲突的约束问题。但是,我在这些按钮的右侧没有设置任何约束,当我在不更新约束的情况下运行它时,pi、sin、cos和sqrt会从屏幕上消失。当我运行它时,我还收到一个警告,上面写着“无法同时满足约束条件”。顺便说一下,我正在使用Swift

编辑:我不明白当当前没有约束告诉右边缘上的按钮剪裁到右墙上时,为什么会有冲突的约束


查看您的约束列表会很有帮助。请记住,使用自动布局的Interface Builder中的一项需要4件东西-高度、宽度、x坐标和y坐标。如果一个项目有这四个,它会很高兴。可能是右侧其中一个视图的x坐标有两个具有相同优先级的x坐标约束

您可能根本不需要右侧的约束。此外,当你有一个红色的IB约束时,建议的修复通常可以很好地处理简单的布局。IB将显示如下红色箭头:

然后,如果您有冲突的约束,它将提示您删除一些,如下所示:

在本例中,您可能会看到“水平空间”的多个约束

有时我发现自己在做的是消除所有的限制,重新开始。这样做将删除您在错误中添加的任何约束或意外地给出了错误值。这个按钮看起来有点像一个三角形身体的平手。选择一个或多个按钮后,单击此按钮,然后选择“清除所有约束”:


此外,如果你想要按钮占据大部分可见区域,你可以考虑把它们全部放在一个UIVIEW中。这样你就可以定位和缩小包含的UIVIEW,并且按钮也跟着做。

你能使XIB/故事板可用吗?我相信我已经修好了。问题是,我一次在所有按钮上应用了高度-宽度x和y约束,然后尝试只在四个右边缘按钮上添加约束,以为这只会更新这些按钮的y坐标,但实际上添加了另一个与第一个冲突的约束。谢谢你的帮助!啊!!很高兴你解决了。是的,有时需要一些修修补补,才能让你所有的约束相互摇摆。然后,您在其他几个屏幕尺寸上进行测试,并且必须重新评估。这是一个过程,但看起来你已经走上了正轨。