複数画面をスワイプで遷移する
複数画面をスワイプで遷移するには TabView の仕組みを利用します。とても簡単です。
現時点では下の点々インジケータを消すことはできません。本件では4つの白い点々のことです。Apple の GUI 指針では、インジケータを消すことは推奨されていないということなのでしょう。
![](https://gazoyaro.com/wp-content/uploads/2024_0713_175100_swift_change_view_by_swipe_fig1-544x1024.png)
![](https://gazoyaro.com/wp-content/uploads/2024_0713_175100_swift_change_view_by_swipe_fig2-544x1024.png)
![](https://gazoyaro.com/wp-content/uploads/2024_0713_175100_swift_change_view_by_swipe_fig3-544x1024.png)
![](https://gazoyaro.com/wp-content/uploads/2024_0713_175100_swift_change_view_by_swipe_fig4-544x1024.png)
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()
}