You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI systemMedium尺寸小组件HStack多余间距消除问题

解决方案

你代码中的多余空白来源于两个不合理的布局配置:一是给PercentageMediumView添加了固定值为80的右内边距,二是HStack中同时加入了Spacer,两者叠加后导致两个功能视图的间距远超设计要求。

修复步骤

  • 删除PercentageMediumView上的.padding(.trailing, 80.0)修饰符,这个硬编码的大间距是多余空白的核心诱因
  • 如果你需要两个视图分别贴小组件左右两端对齐,直接保留HStack中的Spacer即可;如果需要控制两个视图的固定间距,可直接在HStack初始化时指定spacing参数,不需要同时使用Spacer

修复后代码示例

case .systemMedium:
    ZStack {
        Color("Yellow")
        // spacing参数可根据设计要求调整为对应数值,需要两端对齐的话保留Spacer即可
        HStack(alignment: .center, spacing: 0) {
            PercentageMediumView()
            Spacer(minLength: 0)
            Last14MediumView()
        }
        // 若需要避免内容贴小组件边缘,可统一给HStack加左右内边距,适配性更强
        // .padding(.horizontal, 12)
    }

内容的提问来源于stack exchange,提问作者ManjunathK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 02:15:08