swift - 如何在swiftUI中使用分页选项卡 View 时阻止页面上下滚动

标签 swift xcode swiftui tabview

我正在尝试构建一个在分页选项卡 View 中显示一周中不同日期的应用程序,但是当我横向滚动到一天(例如星期二)时,我可以上下滚动它,就好像它是 ScrollView 一样。我的内容 View 中没有 ScrollView 。
我的代码是这样的:

struct ContentView: View {
    var body: some View {
        TabView {
            Text("Saturday")
            Text("Sunday")
            Text("Monday")
            Text("Tuesday")
            Text("Wednesday")
            Text("Thursday")
            Text("Friday")
        }
        .tabViewStyle(PageTabViewStyle())
    }
}

最佳答案

你可以这样做
TabViewScrollView.onAppear()

.onAppear(perform: {
            UIScrollView.appearance().alwaysBounceVertical = false
})  
struct ContentView: View {
    var body: some View {
        ScrollView(.vertical, showsIndicators: false) {
            TabView {
                Text("Saturday")
                Text("Sunday")
                Text("Monday")
                Text("Tuesday")
                Text("Wednesday")
                Text("Thursday")
                Text("Friday")
            }
            .tabViewStyle(PageTabViewStyle())
            .frame(width: 300, height: 600, alignment: .center)
        }
        .frame(width: 300, height: 600, alignment: .center)
        .background(Color.blue)
        .onAppear(perform: {
            UIScrollView.appearance().alwaysBounceVertical = false
        })
    }
}

enter image description here

关于swift - 如何在swiftUI中使用分页选项卡 View 时阻止页面上下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68238761/

相关文章:

ios - 点击按钮时 functionCall 发生奇怪的崩溃

ios - 本地notifications是否可以swift从web上下载信息

ios - 您可以在没有高级开发帐户的情况下使用 Xcode 7 测试版在 iPhone 上测试应用程序吗?

ios - SwiftUI使用步进器动态添加/删除TextField

ios - Swift 不在 CAGradientLayer 上调用类 init 方法

ios - MKAnnotationView 层不是预期的类型 : MKLayer

ios - 如何将配置文件移动到新的开发箱

c++ - 在 Mac OS X 10.9 和 Xcode 上安装 GMP 库

swift - swiftUI 中的可识别协议(protocol)...id 属性...var vs let

macOS SwiftUI 关闭通过菜单中的 segue 呈现的应用程序模式 NSHostingController?