SwiftUI无间距配置LazyVGrid
我想创建一个没有空间或更小空间的单元格网格,就像照片应用程序一样,是否可以使用SwiftUI 2 LazyVGrid?我试过了,但在两列之间总是有这个空格 在文档中,SwiftUI无间距配置LazyVGrid,swift,swiftui,lazyvgrid,Swift,Swiftui,Lazyvgrid,我想创建一个没有空间或更小空间的单元格网格,就像照片应用程序一样,是否可以使用SwiftUI 2 LazyVGrid?我试过了,但在两列之间总是有这个空格 在文档中,间距参数描述为: 间距 栅格与其父视图中的下一项之间的间距 这没有多大意义,你能不能用填充?另外,当我尝试增加间距时,它似乎实际上影响了单元格行之间的间距,这更出乎意料。您在LazyVGrid中给出了间距:0表示垂直间距,在GridItem中给出了间距:0表示水平间距 这是一个演示。使用Xcode 12/iOS 14进行测试 st
间距
参数描述为:
间距
栅格与其父视图中的下一项之间的间距
这没有多大意义,你能不能用
填充?另外,当我尝试增加间距时,它似乎实际上影响了单元格行之间的间距,这更出乎意料。您在LazyVGrid
中给出了间距:0
表示垂直间距,在GridItem
中给出了间距:0
表示水平间距
这是一个演示。使用Xcode 12/iOS 14进行测试
struct TestImagesInGrid:View{
@国家私有var imageNames:[字符串]
private let threeColumnGrid=[
GridItem(.flexible(最小值:40),间距:0),
GridItem(.flexible(最小值:40),间距:0),
GridItem(.flexible(最小值:40),间距:0),
]
init(){
_imageNames=State(initialValue:(0..正是我要找的!这些文档在网格上有误导性。您的措辞更清晰。GridItem的文档:
struct TestImagesInGrid: View {
@State private var imageNames: [String]
private let threeColumnGrid = [
GridItem(.flexible(minimum: 40), spacing: 0),
GridItem(.flexible(minimum: 40), spacing: 0),
GridItem(.flexible(minimum: 40), spacing: 0),
]
init() {
_imageNames = State(initialValue: (0..<8).map { _ in
"image_\(Int.random(in: 1...3))"
})
}
var body: some View {
LazyVGrid(columns: threeColumnGrid, alignment: .leading, spacing: 0) {
ForEach(imageNames.indices) { i in
Image(imageNames[i]).resizable()
.aspectRatio(1, contentMode: .fill)
.border(Color.black)
}
}
}
}