小编jen*_*odi的帖子

长按和列表滚动

使用 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 处理程序,无论我按下哪里,它都会移动。

ios swiftui swiftui-list

9
推荐指数
3
解决办法
1417
查看次数

标签 统计

ios ×1

swiftui ×1

swiftui-list ×1