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
相关产品推荐
相关产品推荐

