Get your own website
Demo.swift
ContentView.swift
App.swift
 
import SwiftUI

struct LongPressProgressDemo: View {
  @GestureState private var isPressing = false
  @State private var done = false
  var body: some View {
    Circle()
      .fill(done ? .green : .gray)
      .frame(width: 80, height: 80)
      .scaleEffect(isPressing ? 0.9 : 1)
      .gesture(
        LongPressGesture(minimumDuration: 0.6)
          .updating($isPressing) { value, state, _ in state = value }
          .onEnded { _ in done.toggle() }
      )
  }
}

                    
import SwiftUI

struct ContentView: View {
  var body: some View { LongPressProgressDemo() }
}

                    
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene {
    WindowGroup { ContentView() }
  }
}