【发布时间】:2020-07-08 09:40:30
【问题描述】:
这不是 this question 的副本。
您将在下面看到一个包含 3 列的矩形网格。我正在尝试使用图像来达到相同的效果。图像应被剪裁,否则不会显得拉伸或扭曲。
这是我实现矩形网格的方法...
// In my view struct...
private let threeColumnGrid = [
GridItem(.flexible(minimum: 40)),
GridItem(.flexible(minimum: 40)),
GridItem(.flexible(minimum: 40)),
]
// In my body...
LazyVGrid(columns: threeColumnGrid, alignment: .center) {
ForEach(model.imageNames, id: \.self) { imageName in
Rectangle()
.foregroundColor(.red)
.aspectRatio(1, contentMode: .fit)
}
}
这是我想要使用矩形的布局...
这是我的目标……
更新:
如果我这样做......
Image(item)
.resizable()
.aspectRatio(1, contentMode: .fit)
如果图像的纵横比不是 1:1,则图像会失真。例如,下面屏幕截图中的圆形图像应该是一个完美的圆形。
【问题讨论】:
-
图像有自己的尺寸,但形状(在本例中为矩形)没有,因此布局可能不同(输入参数相同)。你会以某种方式展示你期望从图像中得到什么吗?
-
我已经用我想要的示例更新了我的问题。