// // ContentView.swift // DevSwiftUI // // Created by Cairocoders // import SwiftUI struct Photo: Identifiable { var id = UUID() var name: String } let listphotoloop = (1...11).map { Photo(name: "\($0)") } //1.jpg to 11.jpg Assets.xcassets struct ContentView: View { @State var gridLayout: [GridItem] = [GridItem(.flexible()), GridItem(.flexible())] var body: some View { NavigationView { ScrollView { LazyVGrid(columns: gridLayout, alignment: .center, spacing: 10) { ForEach(listphotoloop.indices) { index in Image(listphotoloop[index].name) .resizable() .scaledToFill() .frame(minWidth: 0, maxWidth: .infinity) .frame(height: 200) .cornerRadius(10) .shadow(color: Color.primary.opacity(0.3), radius: 1) } } // End ScrollView .padding(.all, 10) .animation(.interactiveSpring()) }// End ScrollView .navigationTitle("Grid Layout Using LazyVGrid") .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button(action: { self.gridLayout = Array(repeating: .init(.flexible()), count: self.gridLayout.count % 4 + 1) }) { Image(systemName: "square.grid.2x2") .font(.title) .foregroundColor(.primary) } } } } // End Navigation } // End body } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
article
Wednesday, May 26, 2021
SwiftUI Grid Layout Using LazyVGrid
SwiftUI Grid Layout Using LazyVGrid