複数画面をスワイプで遷移する

複数画面をスワイプで遷移するには TabView の仕組みを利用します。とても簡単です。

現時点では下の点々インジケータを消すことはできません。本件では4つの白い点々のことです。Apple の GUI 指針では、インジケータを消すことは推奨されていないということなのでしょう。

import SwiftUI

struct ViewMain: View {

    var body: some View {

        TabView() {
            View100() // ここで並べるだけ.
            View110() // ここで並べるだけ.
            View120() // ここで並べるだけ.
            View130() // ここで並べるだけ.
        }
        .tabViewStyle( PageTabViewStyle() ) // スワイプで画面を切り替える設定

    }
}

struct ViewMain_Previews: PreviewProvider {
    static var previews: some View {
        ViewMain()
    }
}

import SwiftUI

struct View100: View {
    var body: some View {
        
        ZStack {
            
            Color.mint
                .edgesIgnoringSafeArea(.all)
            
            Text("View100")
                .font(.largeTitle)
                .foregroundColor(.black)
            
        }
        
    }
}

#Preview {
    View100()
}

import SwiftUI

struct View110: View {
    var body: some View {
        
        ZStack {
            
            Color.orange
                .edgesIgnoringSafeArea(.all)
            
            Text("View110")
                .font(.largeTitle)
                .foregroundColor(.black)
            
        }
        
    }
}

#Preview {
    View110()
}

import SwiftUI

struct View120: View {
    var body: some View {

        ZStack {

            Color.green
                .edgesIgnoringSafeArea(.all)

            Text("View120")
                .font(.largeTitle)
                .foregroundColor(.black)

        }

    }
}

#Preview {
    View120()
}

import SwiftUI

struct View130: View {
    var body: some View {

        ZStack {

            Color.blue
                .edgesIgnoringSafeArea(.all)

            Text("View130")
                .font(.largeTitle)
                .foregroundColor(.black)

        }

    }
}

#Preview {
    View130()
}