Используя SwiftUI (последний XCode и тестирование на IOS 13.3), я пытаюсь реализовать жест долгого нажатия на элементы в списке, чтобы позволить пользователю взаимодействовать с отдельными элементами. Проблема в том, что когда я устанавливаю "onLongPressGesture" в любом месте списка (в элементах, в самом списке), список больше нельзя прокручивать. Я могу легко заставить работать простое нажатие, но долгое нажатие блокирует прокрутку.
Я собрал небольшой пример, показывающий эту проблему:
struct ContentView: View
{
let data = [
"Test 1","Test 2","Test 3","Test 4","Test 5",
"Test 6","Test 7","Test 8","Test 9","Test 10",
"Test 11","Test 12","Test 13","Test 14","Test 15",
"Test 16","Test 17","Test 18","Test 19","Test 20"
]
var body: some View
{
List
{
ForEach(data,id:\.self)
{
item in
Text(item).onLongPressGesture{}
}
}
}
}
Если я попытаюсь перетащить список, нажав на любой текст, список не переместится. Если я сниму обработчик длительного нажатия, он будет двигаться независимо от того, где я нажимаю.