我想创建一个没有空格或更小空间的单元格网格,就像照片应用程序一样,SwiftUI 2 LazyVGrid可以吗?我已经尝试过了,但列之间总是有这个空间。在文档中,spacing参数描述为:spacing网格与其父视图中下一项之间的间距。这没有多大意义,你不能只使用padding吗?而且,当我尝试增加间距时,它似乎实际上影响了单元格行之间的空间,这更令人意外。
spacing
padding
yx2lnoni1#
在LazyVGrid中给予spacing: 0表示垂直间距,在GridItem中赋予spacing: 0表示水平间距。这里是一个演示。在Xcode 12 / iOS 14上测试x1c 0d1x的数据
LazyVGrid
spacing: 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) } } } }
字符串
neskvpey2#
简短的回答:
GridItem(.flexible(), spacing: 0),
2条答案
按热度按时间yx2lnoni1#
在
LazyVGrid
中给予spacing: 0
表示垂直间距,在GridItem
中赋予spacing: 0
表示水平间距。这里是一个演示。在Xcode 12 / iOS 14上测试
x1c 0d1x的数据
字符串
neskvpey2#
简短的回答:
字符串