相关疑难解决方法(0)

SwiftUI 2.0 TabView 禁用滑动以更改页面

我有一个使用 swiftUI 2.0 PageTabViewStyle 的 TabView。有什么方法可以禁用滑动以更改页面?

我的第一个选项卡视图中有一个搜索栏,但是如果用户正在键入,我不想提供更改它们的功能,我基本上希望它被锁定在该屏幕上,直到所述功能完成。

这是一个显示差异的 gif,我希望在 gif 全屏时禁用选项卡更改。 https://imgur.com/GrqcGCI

xcode tabview swiftui

6
推荐指数
4
解决办法
3336
查看次数

在 SwiftUI 2.0 中禁用选项卡视图滑动以更改页面

我在 SwiftUI 应用程序中使用选项卡视图。我想禁用其向左滑动并写入以移至其他页面。我检查了这个答案,也检查了这个,但没有一个有效。他们正在使用

.gesture(DragGesture())

这将禁用向左滑动。我想禁用向左和向右滑动。

我也尝试过:

.禁用(真)

这会禁用整个视图。我的视图上有一些按钮可以执行一些任务。这也让他们失去了能力。

我的代码是:

@State var selectedIndex = 0

var body: some View {

 TabView(selection: $selectedIndex) {
                
                FirstView().tag(0).gesture(DragGesture())
                
                SecondView().tag(1).gesture(DragGesture())
                
                ThirdView().tag(2).gesture(DragGesture())
                
            }.tabViewStyle(.page(indexDisplayMode: .never))
    }
Run Code Online (Sandbox Code Playgroud)

我的FirstView代码是:

func firstView() -> some View {
        
        VStack(alignment: .leading) {
     
            HStack {
                
                Text("Is this a live claim?")
                    .font(.custom(InterFont.bold.rawValue, size: 24))
                
                Spacer()
                
            }.padding()
            
            
            Spacer()
            
            BlueButton(title: "Continue") {
                
               print("pressed")
            }.padding()
            
        }.ignoresSafeArea(edges: .top)
    }
Run Code Online (Sandbox Code Playgroud)

我的SecondView代码是:

func …
Run Code Online (Sandbox Code Playgroud)

tabview swipe-gesture swift swiftui swiftui-tabview

4
推荐指数
1
解决办法
4149
查看次数

标签 统计

swiftui ×2

tabview ×2

swift ×1

swiftui-tabview ×1

swipe-gesture ×1

xcode ×1