You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
62 lines
1.8 KiB
//
|
|
// ImageSelectionView.swift
|
|
// LeCountdown
|
|
//
|
|
// Created by Laurent Morvillier on 27/01/2023.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct ImageSelectionView: View {
|
|
|
|
var showBinding: Binding<Bool>
|
|
|
|
var imageBinding: Binding<CoolPic>
|
|
|
|
private let columns: [GridItem] = [
|
|
GridItem(spacing: 10.0),
|
|
GridItem(spacing: 10.0),
|
|
]
|
|
|
|
var body: some View {
|
|
|
|
NavigationStack {
|
|
|
|
GeometryReader { reader in
|
|
let width: CGFloat = reader.size.width / 2.0 - 10.0
|
|
|
|
ScrollView {
|
|
LazyVGrid(
|
|
columns: columns,
|
|
spacing: 10.0
|
|
) {
|
|
|
|
ForEach(CoolPic.allCases) { coolPic in
|
|
ZStack {
|
|
Image(coolPic.rawValue)
|
|
.resizable()
|
|
.frame(width: width, height: width)
|
|
.cornerRadius(40.0)
|
|
}
|
|
.onTapGesture {
|
|
self.imageBinding.wrappedValue = coolPic
|
|
self.showBinding.wrappedValue = false
|
|
print("coolPic = \(coolPic), image = \(String(describing: self.imageBinding.wrappedValue))")
|
|
}
|
|
|
|
}
|
|
}.padding(10.0)
|
|
}
|
|
}
|
|
.navigationTitle("Background")
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
struct ImageSelectionView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
ImageSelectionView(showBinding: .constant(true),
|
|
imageBinding: .constant(.pic3))
|
|
}
|
|
}
|
|
|