SwifUI onTapGesture внутри ScollView не всегда обнаруживает касание
У меня проблема с представлениями, которые имеют
onTapGesture
и размещены внутри ScollView. Этот onTapGesture не всегда реагирует на жест касания. Мне нужно нажать именно на такой вид. Кажется, есть конфликт с перетаскиванием ScrollView?
я пробовал
highPriorityGesture
onTapGesture
gesture(DragGesture(minimumDistance:0).onChange { })
gesture(TapGesture().onEnded { })
К представлениям добавлено contentShape(Rectangle())
Иногда работает нормально иногда нет. На симуляции большую часть времени работает нормально, на физическом устройстве гораздо хуже.
ScrollViewReader { proxy in
HStack(spacing: spacing) {
ForEach(0 ..< elements.count, id: \.self) { i in
Text(elements[i])
.fixedSize()
.contentShape(Rectangle())
.onTapGesture {
withAnimation {
selectedElement = i
}
}
}
1 ответ
Я не смог воспроизвести поведение, которое вы описываете, с помощью этого примера кода, но, возможно, вы могли бы попробовать следующий модификатор на случай, если в то же время работает другой жест:
.simultaneousGesture(TapGesture().onEnded({
selectedElement = 1
}))