Рассмотрим это представление в SwiftUI:
struct MyView: View {
var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: 200)
.onTapGesture {
print("single clicked")
}
}
}
Теперь мы обрабатываем один клик. Скажем, вы хотите обрабатывать двойной щелчок тоже, но с отдельным обратным вызовом.
У вас есть 2 варианта:
- Добавить обработчик двойного щелчка после одного щелчка - это не так работать на всех
- Добавить обработчик двойного щелчка перед обработчиком одиночного щелчка, этот вид работает:
struct MyView: View {
var body: some View {
Rectangle()
.fill(Color.blue)
.frame(width: 200, height: 200)
.onTapGesture(count: 2) {
print("double clicked")
}
.onTapGesture {
print("single clicked")
}
}
}
Обработчик двойного щелчка вызывается правильно, , но одиночный обработчик щелчка вызывается с задержкой около 250 мс.
Есть идеи, как решить эту проблему?