【发布时间】:2020-07-27 19:32:40
【问题描述】:
我需要在超级视图(主视图)中垂直和水平居中对齐视图(内部视图)。
这是视图控制器:
我已经正确设置了 centerX 和 centerY 约束。但是 Xcode 显示缺少约束的错误,如下所示:
这是当前布局。我想在屏幕中垂直和水平居中对齐内部视图。或者有没有其他方法可以实现这一点
【问题讨论】:
标签: ios autolayout storyboard ios-autolayout
我需要在超级视图(主视图)中垂直和水平居中对齐视图(内部视图)。
这是视图控制器:
我已经正确设置了 centerX 和 centerY 约束。但是 Xcode 显示缺少约束的错误,如下所示:
这是当前布局。我想在屏幕中垂直和水平居中对齐内部视图。或者有没有其他方法可以实现这一点
【问题讨论】:
标签: ios autolayout storyboard ios-autolayout
您过于依赖 center 约束。
在子视图上设置 centerX 和 centerY 并不能确定其父视图的宽度和高度,这就是出现布局错误的原因。
选择您的 Sign Up View 并添加零的前导和尾随约束 - 这将给 Inner View 一个宽度,然后删除 Sign Up View.centerX = centerX 约束。
这应该满足X Position 的要求。
接下来,选择您的Sign Up View,添加一个底部约束为零,并删除Sign Up View.centerY = centerY 约束...
这应该满足Y Position 的要求。
要记住的重要一点是,每个轴都需要一个完整的“链”约束。
这是我的限制条件的屏幕截图。请注意,我将 Sign Up View 的顶部限制为 avocado-signup + 56 的顶部(您的实际图像大小可能不同):
【讨论】: