Feedback

Familiar, easy state-driven haptics, audio and more

23
0
Swift

ios
swift

Feedback

A SwiftUI library for conveniently adding haptic, audio and other feedback to your view’s and state changes.

Sponsor

Building useful libraries like these, takes time away from my family. I build these tools in my spare time because I feel its important to give back to the community. Please consider Sponsoring me as it helps keep me working on useful libraries like these 😬

You can also give me a follow and a ‘thanks’ anytime.

Twitter

Features

  • Familiar API (follow transition and animation API styles)
  • Haptics
  • Audio
  • Screen flash

Usage

Imperative feedback

struct ContentView: View {
    var body: some View {
        Button {
            withFeedback(
                .haptic(.selection)
                .combined(
                    .audio(.keyboardPress)
                )
            ) {
                // state change
            }
        } label: {
            Text("Submit")
        }
    }
}

State observation

struct ContentView: View {
    @State private var toggle: Bool = false
    
    var body: some View {
        Toggle("Toggle", isOn: $toggle.feedback(.haptic(.selection)))
    }
}

Installation

You can install manually (by copying the files in the Sources directory) or using Swift Package Manager (preferred)

To install using Swift Package Manager, add this to the dependencies section of your Package.swift file:

.package(url: "https://github.com/shaps80/Feedback.git", .upToNextMinor(from: "1.0.0"))