我有一個帶有 PageTabViewStyle 的 TabView,當我的設備處于橫向時,前緣有一個奇怪的插圖。這在沒有安全區域的設備上不存在,并且在縱向的任何邊緣也不存在。
struct ContentView: View {
var body: some View {
TabView {
Color.red
.edgesIgnoringSafeArea(.all)
}
.tabViewStyle(PageTabViewStyle())
.edgesIgnoringSafeArea(.all)
}
}

uj5u.com熱心網友回復:
那將是 TabView 這樣做。這實際上是“先前”視圖,對于您的設定來說,它是一個空視圖。您可以查看是否以橫向方式運行此代碼:
var body: some View {
TabView {
Color.red
.edgesIgnoringSafeArea(.all)
Color.green
.edgesIgnoringSafeArea(.all)
Color.blue
.edgesIgnoringSafeArea(.all)
}
.tabViewStyle(PageTabViewStyle())
.edgesIgnoringSafeArea(.all)
}
然后滑動到下一個視圖。你會看到螢屏的那部分變成了紅色。再次滑動,它會變成藍色。
解決方法:在設備大小.frame上設定 a TabView,但將其全部放在 a 中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可以垂直滾動,但它會彈回。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/314723.html
標籤:ios 代码 迅捷 swiftui-tabview
