在SwiftUI中查找tabView手势有什么解决方案吗?

cczfrluj  于 2023-03-16  发布在  Swift
关注(0)|答案(1)|浏览(169)

我的屏幕上有基本的tabview。TabView有4-5个内容和一个timer管理它移动下一个项目。到目前为止没有问题。
然后用户可以向左或向右移动页面,当用户做出此React时,我需要停止timer并重新开始。
Drag gesture工作,但我不能手动更改tabView,请告知?

TabView(selection: $index) {
                ForEach(0..<data.count, id: \.self) { item in
                        PageContent(model: data[item])
                }
            }
            .gesture(DragGesture(minimumDistance: 0)
                .onChanged { _ in
                    print("🧿 changing")
                }
                .onEnded { _ in  print("🧿 end") }
            )
            .tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))
tjvv9vkg

tjvv9vkg1#

您可以观察index的变化并在发生变化时重置计时器,而不是检测用户的拖动手势。

TabView(selection: $index) {
  ForEach(0..<data.count, id: \.self) { item in
    PageContent(model: data[item])
  }
}
.onChangeOf(index) { _ in
  // Reset your timer here
}
.tabViewStyle(PageTabViewStyle(indexDisplayMode: .never))

相关问题