struct LazyGrid: View {
var items = AppleProduct.sampleList
var body: some View {
LazyVGrid(columns: [GridItem()]) {
ForEach(items) { item in
ProductGridItem(product: item)
}
}
.padding()
}
}
GridItem
사용 시 개수만큼 균등 배치struct LazyGrid: View {
var items = AppleProduct.sampleList
private let columns = [
GridItem(),
GridItem(),
GridItem()
]
var body: some View {
ScrollView {
LazyVGrid(columns: columns) {
ForEach(items) { item in
ProductGridItem(product: item)
}
}
.padding()
}
}
}
private let columns = [
GridItem(.fixed(100), spacing: nil, alignment: nil),
GridItem(.fixed(200), spacing: nil, alignment: nil)
]
private let columns = [
GridItem(.flexible(minimum: 100, maximum: 300), spacing: nil, alignment: nil),
]
private let columns = [
GridItem(.flexible(minimum: 100, maximum: 300), spacing: nil, alignment: nil),
GridItem(.flexible(minimum: 100, maximum: 300), spacing: nil, alignment: nil)
]
private let columns = [
GridItem(.adaptive(minimum: 100, maximum: 300), spacing: nil, alignment: nil)
]
private let columns = [
GridItem(.fixed(300), spacing: nil, alignment: nil),
GridItem(.adaptive(minimum: 100, maximum: 300), spacing: nil, alignment: nil)
]
private let columns = [
GridItem(.adaptive(minimum: 200, maximum: 300), spacing: nil, alignment: .top)
]
struct LazyGrid: View {
var items = AppleProduct.sampleList
private let rows = [
GridItem(.adaptive(minimum: 200, maximum: 300), spacing: nil, alignment: .leading)
]
var body: some View {
ScrollView(.horizontal) {
LazyHGrid(rows: rows) {
ForEach(items) { item in
ProductGridItem(product: item)
}
}
.padding()
}
}
}