如何以编程方式添加自动布局约束以使 View 在剩余空间中居中(参见下面的示例图片)?
目前,我在底部添加一个容器 View ,然后将 View 居中放置在容器 View 中,但我想知道是否有其他解决方案而不需要使用容器 View 。
最佳答案
您需要添加一个间隔 View 来执行此操作。
让我们从一些观点开始:
我将设置粉红色 View 以占据 Root View 的前 70%。首先,我将它固定到 Root View 的所有四个边缘:
然后我将以两种方式编辑底部约束。首先,我确保第一项是粉红色 View ,其次我将乘数设置为 0.7。然后我更新粉红色 View 的框架:
接下来我将添加间隔 View 。我不希望间隔 View 在运行时可见,所以我将其隐藏。隐藏 View 仍然参与布局。在设置约束之前,我只是将 spacer 放在蓝色 View 的左侧:
现在我将创建约束,使垫片从粉红色 View 的底部延伸到 Root View 的底部。宽度无关紧要,所以我将它固定在 super View 的左边缘并使其变薄:
现在我已准备好设置蓝色 View 。首先我给它一个固定的尺寸:
其次,我将在 Root View 中将其水平居中:
第三,我将其垂直中心固定到垫片的垂直中心:
这就是我需要的所有约束。我将更新所有帧以检查:
我可以在助理编辑器中使用预览来测试它:
请注意,间隔 View 在预览中不可见,但仍参与布局。
关于ios - 剩余空间中的自动布局居中 View (以编程方式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26216524/