- ✍️ Description
- 🖥 Usage
- 💻 Installation
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.
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")
}
}
}
Add this to your dependencies in Xcode or via Package.swift:
.package("DoubleTap", url: "https://github.com/lukaswuerzburger/DoubleTap", from: "1.0.0")