Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import SwiftUI
- struct ContentView: View {
- @State var sheetIsPresented: Bool = false
- @State var count: Int = 0
- @State var color: Color = .white
- var body: some View {
- ZStack {
- color
- .ignoresSafeArea()
- VStack {
- HStack {
- Text(String(count))
- Button("Count +1") {
- count += 1
- }
- }
- Button("Show sheet") {
- sheetIsPresented = true
- }
- }
- .padding()
- .background(Color(.white).shadow(radius: 2))
- }
- .sheet(isPresented: $sheetIsPresented, onDismiss: {
- color = .random
- }) {
- VStack {
- Button("isPresented = false") {
- sheetIsPresented = false
- }
- SheetView()
- .presentationDetents([.fraction(0.49)])
- .presentationBackgroundInteraction(.enabled)
- .presentationDragIndicator(.visible)
- Spacer()
- }
- .padding(.top, 25)
- }
- }
- }
- struct SheetView: View {
- @Environment(\.dismiss) var dismiss
- var body: some View {
- Button("Dismiss via dismiss()") {
- dismiss()
- }
- }
- }
- /// Extension to generate random colors
- extension Color {
- static var random: Color {
- return Color(hue: Double.random(in: 0...1), saturation: Double.random(in: 0...1), brightness: Double.random(in: 0...1))
- }
- }
- #Preview {
- ContentView()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement