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

SwiftUI中如何实现HStack内图片仅在右侧(尾部)裁剪?

解决SwiftUI HStack仅裁剪右侧内容的问题

你只需要调整外层frame的对齐方式为.leading,就能让HStack内容靠左排列,仅裁剪右侧超出的部分:

修改后的完整代码:

HStack(spacing: 0) {
    ForEach(images) { thumbImage in
        Image(uiImage: thumbImage.image)
            .resizable()
            .aspectRatio(contentMode: .fill)
            .frame(width: 50, height: 50)
            .clipped()
    }
}
.frame(width: 330, alignment: .leading) // 将alignment从.center改为.leading
.clipped()

原理说明

  • 原来的.frame(width: 330, alignment: .center)会让HStack在330宽度的容器内居中,导致左右两侧超出的内容都被clipped()裁剪。
  • 改成.leading对齐后,HStack的内容会紧贴容器左侧,只有右侧超出330宽度的部分会被裁剪,左侧内容完整保留。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 21:42:02