XCode - 模拟器/设备不遵守自动布局约束

时间:2016-07-17 16:32:45

标签: ios xcode autolayout constraints

所以我正在尝试创建一个带有两列的音板应用程序,按钮会自动调整以适应设备屏幕。我已经使用了自动布局和一些约束来创建一组应该完美运行的指标。在故事板(预览)文件中预览时,它显示为我希望(见下图): enter image description here

但是,当在设备或模拟器上运行实际应用程序时,不会遵守约束,并且音板显示如下: enter image description here (请忽略圆角 - 这些是以编程方式设置的。)

我没有从控制台收到任何输出,因为我遇到了约束的冲突错误,所以一直在挠头,但仍然没有解决方案。

这些是我设定的限制: enter image description here

更新 enter image description here

1 个答案:

答案 0 :(得分:0)

您需要添加高度限制或设置按钮' content hugging priority

在我看来,问题是12个按钮具有比暂停按钮更高/相等的垂直内容拥抱优先级。 12个按钮试图垂直拥抱其内容,暂停按钮扩展(如果通过添加bg颜色,这将更容易看到)以符合其余约束。您没有收到错误消息,因为没有冲突的约束,它会尽可能地尊重他们的约束

您可以尝试让12个按钮的垂直内容拥抱优先于暂停按钮。或者,尝试为所有12个按钮添加相等高度约束,然后设置固定高度约束或为暂停按钮设置垂直内容拥抱优先级所需(1000)