Interface Builder中垂直Stack View底部多余空白如何解决
Vertical Stack View 底部多余空白修复方案
按出现概率从高到低排查以下配置项即可解决:
- 底部约束绑定对象错误:选中你的Vertical Stack View,打开右侧尺寸检查器查看底部约束,90%的同类问题都是误把约束锚点选成了
Safe Area.Bottom而非Superview.Bottom。双击约束条目,把第二个锚点切换为Superview底部,约束常量设为0即可。 - Stack View分布模式配置错误:如果当前Distribution属性选的是
Equal Spacing或者Fill Proportionally,当5个Container View的高度总和小于Stack View自身可用高度时,系统会自动把高度差拆成间距填充,最后一段空白就会落在最底部子视图下方。把Distribution改成Fill,同时给每个Container View设置明确的高度约束,或者把最后一个Container View的纵向内容抗压缩优先级拉到1000,让子视图能撑满Stack View的全部纵向空间。 - 隐式相对边距开启:查看Stack View的属性检查器,如果勾了
Safe Area Relative Margins,或者自定义了底部Layout Margin值,系统会自动在底部预留边距。把这个选项关掉,将上下左右的默认边距全部设为0。 - 最后一个Container View内部约束不全:点进Container View 5检查内部布局,如果内部最底部的子视图没有把底部约束绑定到容器视图本身的底部,留了空隙,Stack View计算子视图高度时会把这段空隙算成Container View 5的固有高度,视觉上就像容器下方多了空白。补全内部子视图和容器底部的0间距约束即可。
- 滚动视图自动inset问题:如果Stack View是放在UIScrollView内部的,检查对应ViewController的属性检查器,看是否勾了
Adjust Scroll View Insets,开启状态下系统会自动给滚动视图追加底部安全区偏移,把这个勾选去掉就能消除空白。
内容的提问来源于stack exchange,提问作者Summer
相关产品推荐
相关产品推荐

