autolayout中UIView高度异常

Abnormal height of UIView in autolayout

我在故事板的 VC 中添加了一个高度为 2px 的 UIView。没有自动布局,它在模拟器中看起来就像故事板。但是如果我使用自动布局,那么这个子视图会出现异常高度,如 50px-60px 高度。为什么?

Simulator Image

Storyboard Image

您必须向该 UIView 添加以下 4 个约束,

Leading Space to Container -> Main UIView
Trailing Space to Container -> Main UIView
Top Space to Container -> Main UIView
UIView Height Container 2px

这是因为自动布局。该视图有 4 个约束。尾随 space 到 superview 和前导 space 到 superview 是视图的两侧。
底部 space 和顶部 space 是您猜测的底部和顶部,并且由于模拟器的尺寸与故事板视图不同,因此它会调整视图的高度以适应这些约束,并且距顶部为 46,距底部为 439。

如果你想让你的视图高度保持在2px,你需要做的是设置高度约束而不是底部布局约束。