UICollectionView and SwiftUI?

iOS 14 and Xcode 12

SwiftUI for iOS 14 brings a new and nativ grid view that is easy to use called LazyVGrid:
https://developer.apple.com/documentation/swiftui/lazyvgrid

You can start with defining an array of GridItems. GridItems are used to specify layout properties for each column. In this case all GridItems are flexible.

LazyVGrid takes an array of GridItems as its parameter and displays the containing views according to the defined GridItems.

import SwiftUI

struct ContentView: View {
    
    let columns = [
        GridItem(.flexible()),
        GridItem(.flexible()),
        GridItem(.flexible()),
        GridItem(.flexible())
    ]
    
    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns) {
                ForEach(0...100, id: \.self) { _ in
                    Color.orange.frame(width: 100, height: 100)
                }
            }
        }
    }
}

LazyVGrid in use

Leave a Comment