我正在学习SwiftUI。我遇到了“ GeometryReader”。我想知道为什么以及何时使用它?
这不是这个问题的重复。
您将在下方看到一个包含 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)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我想要使用矩形的布局...
这是我的目标...
更新:
如果我这样做...
Image(item)
.resizable()
.aspectRatio(1, contentMode: .fit)
Run Code Online (Sandbox Code Playgroud)
如果图像的纵横比不是 1:1,则图像会失真。例如,下面屏幕截图中的圆形图像应该是一个完美的圆形。