iOS14 SwiftUI 如何禁用 TabView 的滚动功能

9
TabView(selection: $vm.selectedTab) {
   PlanCard_PositiveDay(vm: vm).tag(0)
   PlanCard_CountdownDay().tag(1)
   PlanCard_Basalkcal().tag(2)
   PlanCard_ActivityDiet().tag(3)
   PlanCard_Schedule().tag(4)
   PlanCard_WeightTarget().tag(5)
}
.tabViewStyle(PageTabViewStyle.init(indexDisplayMode: .never))

我使用TabView和PageTabViewStyle构建了一个页面视图,但我想要点击按钮来改变位置,而不是通过手势自动滚动到更改位置,因此我想禁用自动滚动。如何更新我的代码以实现这一点。

谢谢!


2
这回答您的问题吗?SwiftUI 2.0 TabView 禁用滑动切换页面 - koen
嘿万博!你有没有找到关于这个问题的答案?我也被卡住了。 - Taimoor Arif
1个回答

0
使用.contentShape修饰符和DragGesture()
TabView(selection: $vm.selectedTab) {

   PlanCard_PositiveDay(vm: vm).tag(0).contentShape(Rectangle()).gesture(DragGesture())

   PlanCard_CountdownDay().tag(1).contentShape(Rectangle()).gesture(DragGesture())

   PlanCard_Basalkcal().tag(2).contentShape(Rectangle()).gesture(DragGesture())

   PlanCard_ActivityDiet().tag(3).contentShape(Rectangle()).gesture(DragGesture())

   PlanCard_Schedule().tag(4).contentShape(Rectangle()).gesture(DragGesture())

   PlanCard_WeightTarget().tag(5).contentShape(Rectangle()).gesture(DragGesture())

}
.tabViewStyle(PageTabViewStyle.init(indexDisplayMode: .never))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接