如何在 iOS 14、SwiftUI 2 中以编程方式更改 PageTabView? [英] How to change PageTabView programmatically in iOS 14, SwiftUI 2?

查看:29
本文介绍了如何在 iOS 14、SwiftUI 2 中以编程方式更改 PageTabView?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在探索 Xcode 12 和 SwiftUI 2.0 中的新事物

I'm exploring new things came in Xcode 12 and SwiftUI 2.0

我在 Xcode 12、iOS 14、Swift UI 2 中创建了一个包含 TabView 和 PageTabViewStyle 的页面浏览载入屏幕.我想在点击它时添加下一个按钮,页面应该移动到第二个视图.这里Text(Hello").

I have created a pageview onboarding screen with TabView and PageTabViewStyle in Xcode 12, iOS 14, Swift UI 2. I want to add the next button when clicking on it, the page should move to the second view. Here Text("Hello").

struct OnBoardingView: View {
    var body: some View {
        TabView {
            Text("Hi")
            Text("Hello")
            Text("Welcome")
        }
        .tabViewStyle(PageTabViewStyle())
        .indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
    }
}

推荐答案

这里是解决方案的演示.使用 Xcode 12/iOS 14 测试

Here is a demo of solution. Tested with Xcode 12 / iOS 14

struct OnBoardingView: View {
    @State private var selectedPage = 0
    var body: some View {
        VStack {
            HStack {
                Button("<") { if selectedPage > 0 {
                    withAnimation { selectedPage -= 1 }
                } }
                Spacer().frame(width: 40)
                Button(">") { if selectedPage < 2 {
                    withAnimation { selectedPage += 1 }
                } }
            }
            TabView(selection: $selectedPage) {
                Text("Hi").tag(0)
                Text("Hello").tag(1)
                Text("Welcome").tag(2)
            }
            .tabViewStyle(PageTabViewStyle())
            .indexViewStyle(PageIndexViewStyle(backgroundDisplayMode: .always))
        }
    }
}

这篇关于如何在 iOS 14、SwiftUI 2 中以编程方式更改 PageTabView?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆