10

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

我在 Xcode 12、iOS 14、Swift UI 2 中创建了一个带有 TabView 和 PageTabViewStyle 的页面浏览入门屏幕。我想在单击下一个按钮时添加它,页面应该移动到第二个视图。这里文本(“你好”)

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

1 回答 1

21

这是解决方案的演示。使用 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))
        }
    }
}
于 2020-07-10T11:57:50.793 回答