SwiftUI - TabView 安全区域

问题描述 投票:0回答:1

我有一些全屏视图,我希望能够在 TabView 之间滑动,并且我知道我可以使用

.ignoresSafeArea()
将整个 TabView 容器展开到安全区域之外,但是 TabView 页面索引也会降低,我希望以维持其在安全区内的限制。 withinSafeArea

标签页索引在安全区域内较高,但背景未填满屏幕

ignoresSafeArea()

标签页索引低于安全区域,但背景填充屏幕。

我需要标签页索引在安全区域内更高,但背景(TabView View)填满屏幕。

swift swiftui swiftui-tabview safearea
1个回答
0
投票

如果您使用

TabView
将背景应用到
.background()
,则默认情况下会忽略安全区域,请参阅 background(_:ignoresSafeAreaEdges:):

var body: some View {
    TabView {
        Text("Page One")
        Text("Page Two")
        Text("Page Three")
    }
    .tabViewStyle(.page)
    .background(.blue)
}

否则,只需将

.ignoresSafeArea()
应用于您使用闭包应用的背景即可:

var body: some View {
    TabView {
        Text("Page One")
        Text("Page Two")
        Text("Page Three")
    }
    .tabViewStyle(.page)
    .background {
        MyBackground()
            .ignoresSafeArea()
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.