使用 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{}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试在任何文本上拖动列表,列表将不会移动。如果我移除 longpress 处理程序,无论我按下哪里,它都会移动。