/DoubleTap

A helper tool to detect double taps/clicks in SwiftUI

Primary LanguageSwift

Double Tap Logo
DoubleTap

Swift Version 5 Build Status License MIT

Contents

✍️ Description

DoubleTap provides an easy way to handle both taps of a double tap individually. This comes in handy specifically when you perform view updates after the first tap, e.g. highlighting a table view row or collection view item. Normally, after you handle the first click to update the view, the second tap will be lost because the tap gesture is a view and thus re-initialized and the sequence of taps is broken.

🖥 Usage

First, import the library:

import DoubleTap

Then you can use the onTapGesture(firstTap:secondTap:) modifier on any View:

struct MyView: View {

    @State var isSelected: Bool = false
    @State var isShowingDetail: Bool = false

    var body: some View {
        Text("Text")
            .background(isSelected ? Color.green : Color.blue)
            .onTapGesture(firstTap: {
                isSelected = true
            }, secondTap: {
                isShowingDetail = true
            })
            .sheet(isPresented: $isShowingDetail) {
                Text("Detail")
            }
    }
}

💻 Installation

Add this to your dependencies in Xcode or via Package.swift:

.package("DoubleTap", url: "https://github.com/lukaswuerzburger/DoubleTap", from: "1.0.0")