那将是 TabView 这样做。这实际上是“先前”视图,对于您的设置来说,这将是一个空视图。您可以查看是否在横向运行此代码:
var body: some View {
TabView {
Color.red
.edgesIgnoringSafeArea(.all)
Color.green
.edgesIgnoringSafeArea(.all)
Color.blue
.edgesIgnoringSafeArea(.all)
}
.tabViewStyle(PageTabViewStyle())
.edgesIgnoringSafeArea(.all)
}
然后滑动到下一个视图。你会看到屏幕的那部分变成了红色。再次滑动,它变成蓝色。
解决方法:在设备尺寸.frame
上设置 a ,但将其全部放在 a 中并在其上放置:TabView
ScrollView
.edgesIgnoringSafeArea(.all)
var body: some View {
ScrollView {
TabView {
Color.red
Color.green
Color.blue
}
.frame(
width: UIScreen.main.bounds.width ,
height: UIScreen.main.bounds.height
)
.tabViewStyle(PageTabViewStyle())
}
.edgesIgnoringSafeArea(.all)
}
是的,TabView
可以垂直滚动,但它会弹回。