iOS14 SwiftUI 如何在 TabView 上禁用滚动

Wer*_*erb 6 swiftui swiftui-tabview

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))
Run Code Online (Sandbox Code Playgroud)

我使用带有 PageTabViewStyle 的 TabView 来构建 pageView,但我想单击某个按钮来更改位置,而不是自动滚动以使用手指手势更改位置,因此我想禁用自动滚动,如何更新我的代码以实现此目的

谢谢!

Tai*_*rif 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))
Run Code Online (Sandbox Code Playgroud)